Изучаем Python. Том 1. 5 изд

Изучаем Python. Том 1. 5 изд

Изучаем Python. Том 1. 5 изд
Автор: Лутц Марк
Переводчик: Артеменко Ю.Н.
Дата выхода: 2019
Издательство: Диалектика
Количество страниц: 833
Размер файла: 26.5 MB
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы  Дополнительные материалы 

Оглавление ....6

Содержание ....7

Об авторе ....22

Об иллюстрации на обложке ....22

Предисловие ....23

"Экосистема" этой книги ....23

О пятом издании ....24

Линейки Python 2.Х и Python З.Х ....26

Современная история Python 2.Х/З.Х ....26

Раскрытие линеек Python З.Х и Python 2.Х ....27

Какая версия Python должна использоваться? ....28

Предпосылки и усилия ....29

Структура этой книги ....30

Чем эта книга не является ....33

Это не справочник и не руководство по специфическим приложениям ....33

Это не краткая история для спешащих людей ....34

Изложение последовательно до той степени, до которой позволяет Python ....34

Программы в книге ....35

Версии Python ....35

Платформы ....36

Загрузка кода примеров для книги ....36

Использование кода, сопровождающего книгу ....36

Соглашения, используемые в этой книге ....37

Ждем ваших отзывов! ....37

Благодарности ....38

Предыстория ....38

Благодарности Python ....38

Личные благодарности ....39

ЧАСТЬ I Начало работы....40

ГЛАВА 1. Python в вопросах и ответах....41

Почему люди используют Python? ....41

Качество программного обеспечения ....43

Продуктивность труда разработчиков ....43

Является ли Python "языком написания сценариев"? ....44

Хорошо, но в чем недостаток? ....45

Кто использует Python в наши дни? ....47

Что можно делать с помощью Python? ....49

Системное программирование ....49

Графические пользовательские интерфейсы ....50

Написание сценариев для Интернета ....50

Интеграция компонентов ....51

Программирование для баз данных ....51

Быстрое прототипирование ....52

Численное и научное программирование ....52

И еще: игры, изображения, глубинный анализ данных, роботы, электронные таблицы Excel... ....53

Как Python разрабатывается и поддерживается? ....54

Компромиссы, связанные с открытым кодом ....54

Каковы технические превосходства Python? ....55

Он объектно-ориентированный и функциональный ....55

Он бесплатный ....56

Он переносимый ....56

Он мощный ....57

Он смешиваемый ....58

Он относительно прост в использовании ....58

Он относительно прост в изучении ....59

Он назван в честь группы "Монти Пайтон” ....59

Как Python соотносится с языком X? ....60

Резюме ....61

Проверьте свои знания: контрольные вопросы ....62

Проверьте свои знания: ответы ....62

ГЛАВА 2. Как Python выполняет программы....65

Введение в интерпретатор Python ....65

Выполнение программ ....67

Точка зрения программиста ....67

Точка зрения Python ....68

Разновидности модели выполнения ....71

Альтернативные реализации Python ....71

Инструменты оптимизации выполнения ....74

Фиксированные двоичные файлы ....76

Будущие возможности? ....77

Резюме ....77

Проверьте свои знания: контрольные вопросы ....78

Проверьте свои знания: ответы ....78

ГЛАВА 3. Как пользователь выполняет программы....79

Интерактивная подсказка ....79

Запуск интерактивного сеанса ....80

Пути поиска в системе ....82

Новые возможности для Windows в версии Python 3.3: переменная среды path и запускающий модуль ....82

Где выполнять: каталоги для кода ....83

Что не набирать: приглашения к вводу и комментарии ....84

Интерактивное выполнение кода ....85

Для чего нужна интерактивная подсказка? ....86

Замечания по использованию: интерактивная подсказка ....88

Командная строка системы и файлы ....90

Первый сценарий ....91

Запуск файлов в командной строке ....92

Варианты использования командной строки ....93

Замечания по использованию: командная строка и файлы ....94

Исполняемые сценарии в стиле Unix: #! ....95

Основы сценариев Unix ....95

Трюк с поиском посредством env в Unix ....96

Запускающий модуль для Windows в версии Python 3.3: #! приходит в Windows....96

Щелчки на значках файлов ....98

Основы щелчков на значках ....98

Щелчки на значках в Windows ....99

Трюк с использованием функции input в Windows ....100

Другие ограничения, связанные со щелчками на значках ....102

Импортирование и повторная загрузка модулей ....102

Основы импортирования и повторной загрузки ....102

Дополнительная история о модулях: атрибуты ....104

Замечания по использованию: import и reload ....107

Использование ехес для выполнения файлов модулей ....108

Пользовательский интерфейс IDLE ....109

Детали запуска IDLE ....110

Базовое использование IDLE ....111

Удобные функциональные возможности IDLE ....112

Расширенные инструменты IDLE ....113

Замечания по использованию: IDLE ....113

Другие IDE-среды ....115

Другие варианты запуска ....117

Встраивание вызовов ....117

Фиксированные двоичные исполняемые файлы ....118

Варианты запуска из текстовых редакторов ....118

Прочие варианты запуска ....118

Будущие возможности? ....119

Какой вариант должен использоваться? ....119

Резюме ....121

Проверьте свои знания: контрольные вопросы ....121

Проверьте свои знания: ответы ....122

Проверьте свои знания: упражнения для части I ....123

ЧАСТЬ II Типы и операции....126

ГЛАВА 4. ведение в типы объектов Python....127

Концептуальная иерархия Python ....127

Для чего используются встроенные типы? ....128

Основные типы данных Python ....129

Числа ....131

Строки ....132

Операции над последовательностями ....133

Неизменяемость ....135

Методы, специфичные для типа ....136

Получение справки ....137

Другие способы написания строк ....138

Строки Unicode ....139

Сопоставление с образцом ....142

Списки ....142

Операции над последовательностями ....142

Операции, специфичные для типа ....143

Контроль границ ....143

Вложение ....144

Списковые включения ....145

Словари ....147

Операции над отображениями ....147

Снова о вложении ....148

Недостающие ключи: проверки if ....150

Сортировка ключей: циклы for ....151

Итерация и оптимизация ....153

Кортежи ....154

Для чего используются кортежи? ....155

Файлы ....155

Файлы с двоичными байтами ....156

Файлы с текстом Unicode ....157

Другие инструменты, подобные файлам ....159

Прочие основные типы ....159

Как нарушить гибкость кода ....161

Классы, определяемые пользователем ....162

Все остальное ....163

Резюме ....163

Проверьте свои знания: контрольные вопросы ....164

Проверьте свои знания: ответы ....164

ГЛАВА 5. Числовые типы....166

Основы числовых типов ....166

Числовые литералы ....167

Встроенные инструменты для обработки объектов чисел ....169

Операции выражений Python ....169

Числа в действии ....174

Переменные и базовые выражения ....174

Форматы числового отображения ....176

Сравнения: нормальные и сцепленные ....177

Деление: классическое, с округлением ....179

в меньшую сторону и настоящее ....179

Точность целых чисел ....183

Комплексные числа ....184

Шестнадцатеричная, восьмеричная и двоичная формы записи: литералы и преобразования ....184

Побитовые операции ....186

Другие встроенные инструменты для обработки чисел ....188

Другие числовые типы ....190

Десятичные типы ....190

Дробный тип ....193

Множества ....196

Булевские значения ....204

Численные расширения ....205

Резюме ....206

Проверьте свои знания: контрольные вопросы ....206

Проверьте свои знания: ответы ....206

ГЛАВА 6. Кратко о динамической типизации....208

Случай отсутствия операторов объявления ....208

Переменные, объекты и ссылки ....209

Типы обитают в объектах, не в переменных ....211

Объекты подвергаются сборке мусора ....211

Разделяемые ссылки ....213

Разделяемые ссылки и изменения на месте ....215

Разделяемые ссылки и равенство ....216

Динамическая типизация вездесуща ....218

Резюме ....219

Проверьте свои знания: контрольные вопросы ....219

Проверьте свои знания: ответы ....219

ГЛАВА 7. Фундаментальные основы строк....220

Вопросы, раскрываемые в главе ....220

Unicode: краткая история ....221

Основы строк ....221

Строковые литералы ....223

Строки в одинарных и двойных кавычках являются одинаковыми ....224

Управляющие последовательности представляют специальные символы ....224

Неформатированные строки подавляют управляющие последовательности ....228

Утроенные кавычки представляют многострочные блочные строки ....229

Строки в действии ....231

Базовые операции ....231

Индексация и нарезание ....232

Инструменты преобразования строк ....236

Изменение строк, часть I ....239

Строковые методы ....240

Синтаксис вызова методов ....240

Методы строк ....241

Примеры строковых методов: изменение строк, часть II ....242

Примеры строковых методов: разбор текста ....244

Другие распространенные строковые методы в действии ....245

функции первоначального модуля string (изъяты из Python З.Х)....246

Выражения форматирования строк ....247

Основы выражений форматирования ....248

Расширенный синтаксис выражений форматирования ....249

Более сложные примеры использования выражений форматирования ....250

Выражения форматирования, основанные на словаре ....251

Вызовы методов форматирования строк ....252

Основы методов форматирования ....252

Добавление ключей, атрибутов и смещений ....253

Расширенный синтаксис методов форматирования ....254

Более сложные примеры использования методов форматирования ....255

Сравнение с выражением форматирования % ....257

Для чего используется метод format? ....260

Общие категории типов ....265

Типы разделяют наборы операций по категориям ....265

Изменяемые типы можно модифицировать на месте ....266

Резюме ....267

Проверьте свои знания: контрольные вопросы ....267

Проверьте свои знания: ответы ....268

ГЛАВА 8. Списки и словари....269

Списки ....269

Списки в действии ....271

Базовые списковые операции ....272

Итерация по спискам и списковые включения ....272

Индексация, нарезание и матрицы ....273

Изменение списков на месте ....274

Словари ....280

Словари в действии ....281

Базовые словарные операции ....282

Изменение словарей на месте ....283

Дополнительные словарные методы ....284

Пример: база данных о фильмах ....286

Замечания по использованию словарей ....288

Другие способы создания словарей ....292

Изменения в словарях в Python З.Х и 2.7 ....294

Резюме ....301

Проверьте свои знания: контрольные вопросы ....302

Проверьте свои знания: ответы ....302

ГЛАВА 9. Кортежи, файлы и все остальное....303

Кортежи ....304

Кортежи в действии ....305

Для чего используются списки и кортежи? ....308

Снова о записях: именованные кортежи ....308

Файлы ....310

Открытие файлов ....311

Использование файлов ....312

Файлы в действии ....314

Кратко о текстовых и двоичных файлах ....315

Хранение объектов Python в файлах: преобразования ....316

Хранение собственных объектов Python: модуль pickle ....318

Хранение объектов Python в формате JSON ....319

Хранение упакованных двоичных данных: модуль struct ....321

Диспетчеры контекстов для файлов ....322

Другие файловые операции ....323

Обзор и сводка по основным типам ....324

Гибкость объектов ....325

Ссылки или копии ....327

Сравнения, равенство и истинность ....329

Смысл понятий "истина" и "ложь" в Python ....332

Иерархии типов Python ....334

Объекты type ....334

Прочие типы в Python ....336

Затруднения, связанные со встроенными типами ....336

Присваивание создает ссылки, а не копии ....337

Повторение добавляет один уровень глубины ....337

Остерегайтесь циклических структур данных ....338

Неизменяемые типы нельзя модифицировать на месте ....339

Резюме ....339

Проверьте свои знания: контрольные вопросы ....340

Проверьте свои знания: ответы ....340

Проверьте свои знания: упражнения для части II ....341

ЧАСТЬ III Операторы и синтаксис....344

ГЛАВА 10. Введение в операторы Python....345

Еще раз о концептуальной иерархии Python ....345

Операторы Python ....346

История о двух if ....348

Что Python добавляет ....348

Что Python устраняет ....349

Для чего используется синтаксис с отступами? ....350

Несколько специальных случаев ....353

Короткий пример: интерактивные циклы ....355

Простой интерактивный пример ....355

Выполнение математических действий ....357

над пользовательским вводом ....357

Обработка ошибок путем проверки ввода ....358

Обработка ошибок с помощью оператора try ....359

Вложение кода на три уровня в глубину ....360

Резюме ....362

Проверьте свои знания: контрольные вопросы ....362

Проверьте свои знания: ответы ....362

ГЛАВА 11. Операторы присваивания, выражений и вывода....363

Операторы присваивания ....363

Формы оператора присваивания ....364

Присваивание последовательности ....365

Расширенная распаковка последовательностей в Python З.Х ....368

Групповые присваивания ....372

Дополненные присваивания ....373

Правила именования переменных ....376

Операторы выражений ....380

Операторы выражений и изменения на месте ....381

Операции вывода ....381

Функция print в Python З.Х ....382

Оператор print в Python 2.Х ....385

Перенаправление потока вывода ....386

Вывод, нейтральный к версии ....390

Резюме ....393

Проверьте свои знания: контрольные вопросы ....394

Проверьте свои знания: ответы ....394

ГЛАВА 12. Проверки if и правила синтаксиса....395

Операторы if ....395

Общий формат ....395

Элементарные примеры ....396

Множественное ветвление ....396

Снова о синтаксисе Python ....399

Ограничители блоков: правила отступов ....400

Ограничители операторов: строки и продолжения ....402

Несколько особых случаев ....403

Значения истинности и булевские проверки ....405

Тернарное выражение if/else ....406

Резюме ....409

Проверьте свои знания: контрольные вопросы ....410

Проверьте свои знания: ответы ....410

ГЛАВА 13. Циклы while и for....411

Циклы while ....411

Общий формат ....411

Примеры ....412

Операторы break, continue, pass и конструкция else цикла....413

Общий формат цикла ....413

Оператор pass ....413

Оператор continue ....415

Оператор break ....415

Конструкция else цикла ....416

Циклы for ....418

Общий формат ....419

Примеры ....419

Методики написания циклов ....426

Циклы с подсчетом: range ....426

Просмотр последовательностей: while и range или for ....427

Тасование последовательностей: range и len ....428

Неполный обход: range или срезы ....429

Изменение списков: range или включения ....430

Параллельные обходы: zip и тар ....431

Генерация смещений и элементов: enumerate ....434

Резюме ....437

Проверьте свои знания: контрольные вопросы ....438

Проверьте свои знания: ответы ....438

ГЛАВА 14. Итерации и включения....439

Итерации: первый взгляд ....439

Протокол итерации: итераторы файловых объектов ....440

Ручная итерация: iter и next ....443

Итерируемые объекты других встроенных типов ....446

Списковые включения: первый подробный взгляд ....448

Основы списковых включений ....449

Использование списковых включений с файлами ....450

Расширенный синтаксис списковых включений ....452

Другие итерационные контексты ....454

Новые итерируемые объекты в Python З.Х ....458

Влияние на код Python 2.Х: доводы за и против ....458

Итерируемый объект range ....459

Итерируемые объекты map, zip и filter ....460

Итераторы с множеством проходов или с одним проходом ....462

Итерируемые словарные представления ....463

Другие темы, связанные с итерацией ....465

Резюме ....465

Проверьте свои знания: контрольные вопросы ....466

Проверьте свои знания: ответы ....466

ГЛАВА 15. Документация....467

Источники документации Python ....467

Комментарии # ....468

Функция dir ....468

Строки документации: doc ....470

PyDoc: функция help ....473

PyDoc: отчеты в формате HTML ....476

За рамками строк документации: Sphinx ....484

Стандартный набор руководств ....484

Веб-ресурсы ....485

Изданные книги ....486

Распространенные затруднения ....486

при написании кода ....486

Резюме ....488

Проверьте свои знания: контрольные вопросы ....489

Проверьте свои знания: ответы ....489

Проверьте свои знания: упражнения для части III ....490

ЧАСТЬ IV Функции и генераторы....492

ГЛАВА 16. Основы функций....493

Для чего используются функции? ....494

Написание кода функций ....495

Операторы def ....497

Оператор def исполняется во время выполнения ....497

Первый пример: определения и вызовы ....498

Определение ....498

Вызов ....498

Полиморфизм в Python ....499

Второй пример: пересечение последовательностей ....500

Определение ....501

Вызов ....501

Еще раз о полиморфизме ....502

Локальные переменные ....503

Резюме ....503

Проверьте свои знания: контрольные вопросы ....504

Проверьте свои знания: ответы ....504

ГЛАВА 17. Области видимости....505

Основы областей видимости в Python ....505

Детали, касающиеся областей видимости ....506

Распознавание имен: правило LEGB ....508

Пример области видимости ....511

Встроенная область видимости ....512

Оператор global ....515

Проектирование программы: минимизируйте количество глобальных переменных ....516

Проектирование программы: минимизируйте количество межфайловых изменений ....517

Другие способы доступа к глобальным переменным ....519

Области видимости и вложенные функции ....520

Детали вложенных областей видимости ....520

Примеры вложенных областей видимости ....520

Фабричные функции: замыкания ....521

Сохранение состояния из объемлющей области видимости с помощью стандартных значений ....524

Оператор nonlocal в Python З.Х ....528

Основы оператора nonlocal ....528

Оператор nonlocal в действии ....530

Для чего используются оператор nonlocal? Варианты сохранения состояния ....532

Состояние с помощью оператора nonlocal: только Python З.Х ....532

Состояние с помощью глобальных переменных: только одиночная копия ....533

Состояние с помощью классов: явные атрибуты (предварительный обзор) ....534

Состояние с помощью атрибутов функций: Python З.Х и 2.Х ....535

Резюме ....539

Проверьте свои знания: контрольные вопросы ....540

Проверьте свои знания: ответы ....541

ГЛАВА 18. Аргументы....542

Основы передачи аргументов ....542

Аргументы и разделяемые ссылки ....543

Избегайте модификации изменяемых аргументов ....545

Эмуляция выходных параметров и множественных результатов ....546

Специальные режимы сопоставления аргументов ....547

Основы сопоставления аргументов ....548

Синтаксис сопоставления аргументов ....549

Особенности использования специальных режимов сопоставления ....550

Примеры ключевых слов и стандартных значений ....551

Примеры произвольного количества аргументов ....553

Аргументы с передачей только по ключевым словам Python З.Х ....558

Функция min ....561

Основная задача ....562

Дополнительные очки ....563

Заключение ....564

Обобщенные функции для работы с множествами ....564

Эмуляция функции print из Python З.Х ....566

Использование аргументов с передачей только по ключевым словам....568

Резюме ....570

Проверьте свои знания: контрольные вопросы ....570

Проверьте свои знания: ответы ....571

ГЛАВА 19. Расширенные возможности функций....572

Концепции проектирования функций ....572

Рекурсивные функции ....574

Суммирование с помощью рекурсии ....575

Альтернативные варианты кода ....575

Операторы цикла или рекурсия ....577

Обработка произвольных структур ....577

Объекты функций: атрибуты и аннотации ....581

Косвенные вызовы функций: "первоклассные" объекты ....581

Интроспекция функций ....582

Аннотации функций в Python З.Х ....584

Анонимные функции: выражения lambda ....586

Основы выражения lambda ....587

Для чего используется выражение lambda? ....588

Как (не) запутать свой код на Python ....590

Области видимости: выражения lambda также могут быть вложенными ....591

Инструменты функционального программирования ....592

Отображение функций на итерируемые объекты: тар ....593

Выбор элементов из итерируемых объектов: filter ....595

Комбинирование элементов из итерируемых объектов: reduce ....595

Резюме ....597

Проверьте свои знания: контрольные вопросы ....597

Проверьте свои знания: ответы ....597

ГЛАВА 20. Включения и генераторы....599

Списковые включения и инструменты функционального программирования ....599

Списковые включения или тар ....600

Добавление проверок и вложенных циклов: filter ....601

Пример: списковые включения и матрицы ....604

Не злоупотребляйте списковыми включениями: KISS ....606

Генераторные функции и выражения ....609

Генераторные функции: yield или return ....609

Генераторные выражения: итерируемые объекты встречаются с включениями ....615

Генераторные функции или генераторные выражения ....619

Генераторы являются объектами с одиночной итерацией ....621

Генерация во встроенных типах, инструментах и классах ....624

Пример: генерация перемешанных последовательностей ....627

Не злоупотребляйте генераторами: EIBTI ....632

Пример: эмуляция zip и шар с помощью итерационных инструментов ....634

Сводка по синтаксису включений ....640

Области видимости и переменные включений ....640

Осмысление включений множеств и словарей ....642

Расширенный синтаксис включений для множеств и словарей ....643

Резюме ....643

Проверьте свои знания: контрольные вопросы ....644

Проверьте свои знания: ответы ....644

ГЛАВА 21. Оценочные испытания....646

Измерение времени выполнения итерационных альтернатив ....646

Модуль измерения времени: любительский ....647

Сценарий измерения времени ....652

Результаты измерения времени ....653

Альтернативные версии модуля для измерения времени ....656

Другие варианты ....659

Измерение времени выполнения итераций и версий Python с помощью модуля timeit ....660

Базовое использование timeit ....660

Модуль и сценарий оценочных испытаний: timeit ....665

Результаты запуска сценария оценочных испытаний ....667

Продолжаем забавляться с оценочными испытаниями ....669

Другие темы, связанные с оценочными испытаниями: тест руstone ....673

Затруднения, связанные с функциями ....674

Локальные имена распознаются статически ....674

Стандартные значения и изменяемые объекты ....676

Функции без операторов return ....678

Прочие затруднения, связанные с функциями ....678

Резюме ....679

Проверьте свои знания: контрольные вопросы ....679

Проверьте свои знания: ответы ....680

Проверьте свои знания: упражнения для части IV ....680

ЧАСТЬ V Модули и пакеты....684

ГЛАВА 22. Модули: общая картина....685

Для чего используются модули? ....685

Архитектура программы Python ....686

Структурирование программы ....687

Импортирование и атрибуты ....687

Стандартные библиотечные модули ....689

Как работает импортирование ....690

1. Поиск файла модуля ....690

2. Компиляция файла модуля (возможная) ....691

3. Выполнение файла модуля ....692

Файлы байт-кода: pycacheв Python 3.2+ ....692

Модели файлов байт-кода в действии ....693

Путь поиска модулей ....694

Конфигурирование пути поиска ....697

Вариации пути поиска ....697

Список sys.path ....698

Выбор файла модуля ....699

Резюме ....701

Проверьте свои знания: контрольные вопросы ....702

Проверьте свои знания: ответы ....702

ГЛАВА 23. Основы написания модулей....703

Создание модулей ....703

Имена файлов модулей ....703

Другие виды модулей ....704

Использование модулей ....704

Оператор import ....704

Оператор from ....705

Оператор from * ....705

Операции импортирования происходят только однократно ....706

Операторы import и from являются присваиваниями ....707

Эквивалентность import и from ....708

Потенциальные затруднения, связанные с оператором from ....709

Пространства имен модулей ....710

Файлы генерируют пространства имен ....710

Словари пространств имен: _idiet ....712

Уточнение имен атрибутов ....713

Импортирование или области видимости ....713

Вложение пространств имен ....714

Перезагрузка модулей ....715

Основы использования reload ....716

Пример использования reload ....717

Резюме ....719

Проверьте свои знания: контрольные вопросы ....719

Проверьте свои знания: ответы ....720

ГЛАВА 24. Пакеты модулей....721

Основы импортирования пакетов ....722

Пакеты и настройки пути поиска ....722

Файлы init .ру пакетов ....723

Пример импортирования пакетов ....725

Использование from или import с пакетами ....727

Для чего используется импортирование пакетов? ....728

История о трех системах ....728

Относительное импортирование пакетов ....731

Изменения в Python З.Х ....732

Основы относительного импортирования ....733

Для чего используются операции относительного импортирования? ....734

Границы действия операций относительного импортирования ....737

Сводка по правилам поиска модулей ....737

Операции относительного импортирования в действии ....738

Затруднения, связанные с операциями импортирования относительно пакетов: смешанное использование ....743

Пакеты пространств имен, введенные в Python 33 ....749

Семантика пакетов пространств имен ....750

Влияние на обычные пакеты: необязательность init .ру ....751

Пакеты пространств имен в действии ....752

Вложение пакетов пространств имен ....753

Файлы по-прежнему имеют приоритет над каталогами ....754

Резюме ....757

Проверьте свои знания: контрольные вопросы ....757

Проверьте свои знания: ответы ....757

ГЛАВА 25. Расширенные возможности модулей....759

Концепции проектирования модулей ....759

Сокрытие данных в модулях ....761

Сведение к минимуму вреда от from *: _х и all ....761

Включение будущих языковых средств: future....762

Смешанные режимы использования: name и main....763

Модульное тестирование с помощью name....764

Пример: код с двойным режимом ....765

Символы валют: Unicode в действии ....768

Строки документации: документация по модулям в работе ....770

Изменение пути поиска модулей ....771

Расширение as для операторов import и from ....772

Пример: модули являются объектами ....773

Импортирование модулей по строкам с именами....776

Выполнение строк с кодом ....776

Прямые вызовы: два варианта ....777

Пример: транзитивная перезагрузка модулей ....778

Инструмент рекурсивной перезагрузки ....778

Альтернативные реализации ....781

Затруднения, связанные с модулями ....785

Конфликты имен модулей: операции импортирования пакетов и относительно пакетов ....785

Порядок следования операторов в коде верхнего уровня имеет значение ....786

Оператор from копирует имена, но не ссылки на них ....787

Форма оператора from* может сделать ....788

неясным смысл переменных ....788

Функция reload может не оказывать влияния на результаты операторов импортирования from ....788

reload, from и тестирование в интерактивном сеансе ....789

Рекурсивные операции импортирования from могут не работать ....790

Резюме ....791

Проверьте свои знания: контрольные вопросы ....792

Проверьте свои знания: ответы ....792

Проверьте свои знания: упражнения для части V ....793

ПРИЛОЖЕНИЕ Решения упражнений, приводимых в конце частей....795

Часть I, "Начало работы" ....795

Часть II, "Типы и операции" ....798

Часть III, "Операторы и синтаксис" ....804

Часть IV, "функции и генераторы" ....806

Часть М, "Модули и пакеты" ....816

Предметный указатель ....820

С помощью этой практической книги вы получите всестороннее и глубокое введение в основы языка Python. Будучи основанным на популярном учебном курсе Марка Лутца, обновленное 5-е издание книги поможет вам быстро научиться писать эффективный высококачественный код на Python. Она является идеальным способом начать изучение Python, будь вы новичок в программировании или профессиональный разработчик программного обеспечения на других языках. .Это простое и понятное учебное пособие, укомплектованное контрольными вопросами, упражнениями и полезными иллюстрациями, позволит вам освоить основы линеек Python 3.X и 2.Х. Вы также ознакомитесь с расширенными возможностями языка, получившими широкое распространение в коде Python.


Похожее:

Список отзывов:

Нет отзывов к книге.