1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wizardforcel-sicp-py-zh

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
1.1.md 4.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 03:42 9c9d71c

Связывание имени «shakespeare» и выражения.

Выражение в URL вызывает функцию urlopen, URL содержит полный текст 37 пьес Шекспира в одном текстовом файле.

Функция. Функция инкапсулирует логику обработки данных. Web-адрес — это одна часть данных, текст пьес Шекспира — другая. Процесс создания второго из первого может быть сложным, но мы можем вызвать их через одно выражение, потому что вся сложность заключена в функции. Функция является основной темой этой главы.

Ещё один оператор присваивания:

>>> words = set(shakespeare.read().decode().split())

Связывает имя words с набором всех уникальных слов из пьес Шекспира, всего 33 721 слово. Эта цепочка команд вызывает read, decode и split, каждая из которых действует на связанный объект: данные, считываемые из URL, декодированные текстовые данные и текст, разделённый на слова. Все эти слова помещаются в set.

Объект. Набор — это тип объекта, который поддерживает операции взятия пересечения и проверки принадлежности. Объект объединяет данные и логику работы с данными и делает это таким образом, чтобы скрыть сложность. Объекты являются основной темой второй главы.

Выражение:

>>> {w for w in words if len(w) >= 5 and w[::-1] in words}
{'madam', 'stink', 'leets', 'rever', 'drawer', 'sessa',
'repaid', 'speed', 'redder', 'devil', 'minim', 'spots', 'asses',
'refer', 'lived', 'keels', 'diaper', 'sleek', 'steel', 'leper',
'level', 'deeps', 'repel', 'reward', 'knits'}

является составным выражением, которое находит слова из словаря Шекспира, которые появляются в прямом или обратном порядке. Таинственный символ w[::-1] перебирает каждый символ в слове, но -1 указывает на обратный порядок (:: означает, что используются значения по умолчанию для первого и последнего слова). Когда вы вводите выражение в интерактивном сеансе, Python будет печатать его значение, как показано выше.

Интерпретатор. Для решения составного выражения требуется предсказуемый процесс для точного выполнения кода интерпретатора. Программа, которая выполняет этот процесс и решает выражение и операторы, называется интерпретатором. Дизайн и реализация интерпретатора являются основной темой третьей главы.

По сравнению с другими компьютерными программами, интерпретаторы языков программирования обычно довольно уникальны. Python не был разработан с намерением следовать за Шекспиром или палиндромами, но его огромная гибкость позволяет нам обрабатывать большие объёмы текста с помощью небольшого количества кода.

Наконец, мы обнаруживаем, что все эти основные концепции тесно связаны: функция — это объект, объект — это функция, а интерпретатор — это экземпляр обоих. Однако чёткое понимание этих концепций и того, как они работают в организации кода, является ключом к овладению искусством программирования.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/wizardforcel-sicp-py-zh.git
git@api.gitlife.ru:oschina-mirror/wizardforcel-sicp-py-zh.git
oschina-mirror
wizardforcel-sicp-py-zh
wizardforcel-sicp-py-zh
master