Чистый Python. Тонкости программирования для профи
Book information
Description
Изучение всех возможностей Python — сложная задача, а с этой книгой вы сможете сосредо- точиться на практических навыках, которые действительно важны. Раскопайте «скрытое золото» в стандартной библиотеке Python и начните писать чистый код уже сегодня. Если у вас есть опыт работы со старыми версиями Python, вы сможете ускорить работу с со- временными шаблонами и функциями, представленными на Python 3. Если вы работали с другими языками программирования и хотите перейти на Python, то найдете практические советы, необходимые для того, чтобы стать эффективным питонистом. Если вы хотите научиться писать чистый код, то найдете здесь самые интересные примеры и малоизвестные трюки. Предисловие Комментарии переводчика Базовый набор библиотек для разработчика От издательства Глава 1. Введение 1.1. Что такое идиома Python 1.2. Чем эта книга будет полезна 1.3. Как читать эту книгу 1.4. Тонкости Python: цифровой комплект инструментов в качестве бонуса Глава 2. Шаблоны для чистого Python 2.1. Прикрой свой з** инструкциями assert Инструкция assert в Python — пример Почему просто не применить обычное исключение? Синтаксис инструкции Python assert Распространенные ловушки, связанные с использованием инструкции assert в Python Предостережение №1 — не используйте инструкции assert для проверки данных Предостережение №2 — инструкции assert, которые никогда не дают сбой Инструкции assert — резюме Ключевые выводы 2.2. Беспечное размещение запятой Ключевые выводы 2.3. Менеджеры контекста и инструкция with Поддержка инструкции with в собственных объектах Написание красивых API с менеджерами контекста Ключевые выводы 2.4. Подчеркивания, дандеры и другое 1. Одинарный начальный символ подчеркивания: _var 2. Одинарный замыкающий символ подчеркивания: var_ 3. Двойной начальный символ подчеркивания: __var Экскурс: что такое дандеры? 4. Двойной начальный и замыкающий символ подчеркивания: __var__ 5. Одинарный символ подчеркивания: _ Ключевые выводы 2.5. Шокирующая правда о форматировании строковых значений № 1. «Классическое» форматирование строковых значений № 2. «Современное» форматирование строковых значений № 3. Интерполяция литеральных строк (Python 3.6+) № 4. Шаблонные строки Какой метод форматирования строк мне использовать? Ключевые выводы 2.6. Пасхалка «Дзен Python» Дзэн Python от Тима Питерса Глава 3. Эффективные функции 3.1. Функции Python — это объекты первого класса Функции — это объекты Функции могут храниться в структурах данных Функции могут передаваться другим функциям Функции могут быть вложенными Функции могут захватывать локальное состояние Объекты могут вести себя как функции Ключевые выводы 3.2. Лямбды — это функции одного выражения Лямбды в вашем распоряжении А может не надо… Ключевые выводы 3.3. Сила декораторов Основы декораторов Python Декораторы могут менять поведение Короткая пауза Применение многочисленных декораторов к функции Декорирование функций, принимающих аргументы Ключевые выводы 3.4. Веселье с *args и **kwargs Переадресация необязательных или именованных аргументов Ключевые выводы 3.5. Распаковка аргументов функции Ключевые выводы 3.6. Здесь нечего возвращать Ключевые выводы Глава 4. Классы и ООП 4.1. Сравнения объектов: is против == 4.2. Преобразование строк (каждому классу по __repr__) Метод __str__ против __repr__ Почему каждый класс нуждается в __repr__ Отличия Python 2.x: __unicode__ Ключевые выводы 4.3. Определение своих собственных классов-исключений Ключевые выводы 4.4. Клонирование объектов для дела и веселья Создание мелких копий Создание глубоких копий Копирование произвольных объектов Ключевые выводы 4.5. Абстрактные базовые классы держат наследование под контролем Ключевые выводы 4.6. Чем полезны именованные кортежи Именованные кортежи спешат на помощь Создание производных от Namedtuple подклассов Встроенные вспомогательные методы Когда использовать именованные кортежи Ключевые выводы 4.7. Переменные класса против переменных экземпляра: подводные камни Пример без собак Ключевые выводы 4.8. Срыв покровов с методов экземпляра, методов класса и статических методов Методы экземпляра Методы класса Статические методы Посмотрим на них в действии! Фабрики аппетитной пиццы с @classmethod Когда использовать статические методы Ключевые выводы Глава 5. Общие структуры данных Python 5.1. Словари, ассоциативные массивы и хеш-таблицы dict — ваш дежурный словарь collections.OrderedDict — помнят порядок вставки ключей collections.defaultdict — возвращает значения, заданные по умолчанию для отсутствующих ключей collections.ChainMap — производит поиск в многочисленных словарях как в одной таблице соответствия types.MappingProxyType — обертка для создания словарей только для чтения Словари в Python: заключение Ключевые выводы 5.2. Массивоподобные структуры данных list — изменяемые динамические массивы tuple — неизменяемые контейнеры array.array — элементарные типизированные массивы str — неизменяемые массивы символов Юникода bytes — неизменяемые массивы одиночных байтов bytearray — изменяемые массивы одиночных байтов Ключевые выводы 5.3. Записи, структуры и объекты переноса данных dict — простые объекты данных tuple — неизменяемые группы объектов Написание собственного класса — больше работы, больше контроля collections.namedtuple — удобные объекты данных typing.NamedTuple — усовершенствованные именованные кортежи struct.Struct — сериализованные С-структуры types.SimpleNamespace — причудливый атрибутивный доступ Ключевые выводы 5.4. Множества и мультимножества set — ваше дежурное множество frozenset — неизменяемые множества collections.Counter — мультимножества Ключевые выводы 5.5. Стеки (с дисциплиной доступа LIFO) list — простые встроенные стеки collections.deque — быстрые и надежные стеки deque.LifoQueue — семантика блокирования для параллельных вычислений Сравнение реализаций стека в Python Ключевые выводы 5.6. Очереди (с дисциплиной доступа FIFO) list — ужасно меееедленная очередь collections.deque — быстрые и надежные очереди queue.Queue — семантика блокирования для параллельных вычислений multiprocessing.Queue — очереди совместных заданий Ключевые выводы 5.7. Очереди с приоритетом list — ручное поддержание сортируемой очереди heapq — двоичные кучи на основе списка queue.PriorityQueue — красивые очереди с приоритетом Ключевые выводы Глава 6. Циклы и итерации 6.1. Написание питоновских циклов Ключевые выводы 6.2. Осмысление включений Ключевые выводы 6.3. Нарезки списков и суши-оператор Ключевые выводы 6.4. Красивые итераторы Бесконечное повторение Как циклы for-in работают в Python? Более простой класс-итератор Кто же захочет без конца выполнять итерации Совместимость с Python 2.x Ключевые выводы 6.5. Генераторы — это упрощенные итераторы Бесконечные генераторы Генераторы, которые прекращают генерацию Ключевые выводы 6.6. Выражения-генераторы Выражения-генераторы против включений в список Фильтрация значений Встраиваемые выражения-генераторы Слишком много хорошего… Ключевые выводы 6.7. Цепочки итераторов Ключевые выводы Глава 7. Трюки со словарем 7.1. Значения словаря, принимаемые по умолчанию Ключевые выводы 7.2. Сортировка словарей для дела и веселья Ключевые выводы 7.3. Имитация инструкций выбора на основе словарей Ключевые выводы 7.4. Самое сумасшедшее выражение-словарь на западе Ключевые выводы 7.5. Так много способов объединить словари Ключевые выводы 7.6. Структурная печать словаря Ключевые выводы Глава 8. Питоновские методы повышения производительности 8.1. Исследование модулей и объектов Python Ключевые выводы 8.2. Изоляция зависимостей проекта при помощи Virtualenv Виртуальные среды спешат на помощь Ключевые выводы 8.3. По ту сторону байткода Ключевые выводы Глава 9. Заключительные мысли 9.1. Бесплатные еженедельные советы для разработчиков на Python 9.2. PythonistaCafe: сообщество разработчиков на Python
Similar books
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)
2022 · PDF
Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)
2023 · PDF
Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"
2022 · PDF
Философия. Учебно-методический комплекс дисциплины по направлениям подготовки: 51.03.03 (071800.62) «Социально-культурная деятельность», профили подготовки: «Социально-культурные технологии в индустрии досуга», «Менеджмент социально-культурной деятельности», «Менеджмент детско-юношеского досуга», «Постановка и продюсирование культурно-досуговых программ», «Социально-культурная анимация и рекреация»; 38.03.02 (080200.62) «Менеджмент», профили подготовки: «Управление человеческими ресурсами», «Управление малым бизнесом», квалификации (степень) выпускника – «бакалавр»
2014 · PDF
Проектирование устройств приема и обработки сигналов: учебно-методическое пособие по курсу "Устройства приема и обработки сигналов" для студентов всех форм обучения специальностей: 210400.62 Радиотехника. Бакалавр Б.3.10. Основы цифровой обработки сигналов; 210700.62 Системы мобильной связи. Бакалавр Б.3.19. Радиоприемные устройства систем мобильной связи; 210601.65 Радиоэлектронные системы и комплексы. Специалист С.3.18. Устройства приема и обработки сигналов; 090302.65 Защита информации в системах связи и управления. Специалист С.3.30. Устройства приема и обработки сигналов
2015 · PDF