Бретт Слаткин - Программирование на Python: 59 методов написания эффективного кода (2016)

Информация:
Тема в разделе "Электронные книги", создана пользователем Collab_Bot, 18 сен 2016.
Этап:
Набор участников
Цена:
80.00 RUB
Участников:
0 из 10
Организатор:
Отсутствует
0%
Расчетный взнос:
13 RUB
  • (Основной список пока пуст)

  1. Collab_Bot

    Collab_Bot Бот рескладчин Бот форума
    • 3063/3811

    Сообщения:
    80.951
    Репутация:
    0
    Отдано:
    1 ГБ
    Скачано:
    0 байт
    Рейтинг:
    -
    Бретт Слаткин - Программирование на Python: 59 методов написания эффективного кода (2016)



    Формат PDF

    Ориг.название Effective Python: 59 Specific Ways to Write Better Python
    Автор Бретт Слаткин
    Формат издания 170x240 мм (средний формат)
    Количество страниц 272
    Год выпуска 2016
    ISBN 978-5-8459-2078-2, 978-0-13-403428-7
    Издательство Вильямс
    Переплет Твердый переплет
    Язык издания Русский

    Язык Python завоевал популярность благодаря тому, что позволяет новичкам почти сразу же браться за написание кода. Однако достигнуть цельного понимания уникальных возможностей Python чрезвычайно трудно, особенно если учесть, что на этом пути вас подстерегает множество скрытых ловушек.
    Книга приобщит вас к стилю программирования, выдержанному в истинном "духе Python", и поможет научиться писать исключительно надежный и высокопроизводительный код. Используя сжатый стиль изложения, пионером которого был Скотт Мейерс, автор приводит 59 описаний лучших методик программирования, дает советы и показывает кратчайшие пути решения различных задач программирования на Python, дополняя их реалистичными примерами кода.
    Опираясь на свой многолетний опыт создания инфраструктурных проектов для компании Google, автор раскрывает секреты малоизвестных аспектов и идиом Python, радикально влияющих на поведение и производительность кода. Вы ознакомитесь с наилучшими способами решения ключевых задач, что облегчит понимание, сопровождение и усовершенствование вашего кода.
    • Действенные рекомендации по основным аспектам разработки ПО с использованием версий Python 3.x и 2.x, дополненные подробными описаниями и примерами.
    • Лучшие методики написания функций, снижающие вероятность появления ошибок в коде.
    • Точное описание вариантов поведения с помощью классов и объектов.
    • Рекомендации относительно того, как избежать скрытых ошибок с помощью метаклассов и динамических атрибутов.
    • Эффективные подходы к решению проблем, связанных с одновременным и параллельным выполнением множества операций.
    • Усовершенствованные приемы работы со встроенными модулями Python.
    • Инструментальные средства и лучшие методики коллективной разработки.
    • Решения по отладке, тестированию и оптимизации кода.
    Введение

    Глава 1. Мыслим категориями языка Python

    Рекомендация 1. Следите за тем, какую версию Python вы используете
    Рекомендация 2. Руководствуйтесь правилами стилевого оформления программ, изложенными в документе PEP 8
    Рекомендация 3. Знайте о различиях между типами строк bytes, str и unicode
    Рекомендация 4. Заменяйте сложные выражения вспомогательными функциями
    Рекомендация 5. Умейте работать со срезами последовательностей
    Рекомендация 6. Избегайте совместного использования индексов начала, конца и шага в одном срезе
    Рекомендация 7. Используйте генераторы списков вместо функций map() и filter()
    Рекомендация 8. Избегайте использования более двух выражений в генераторах списков
    Рекомендация 9. По возможности используйте выражения-генераторы вместо генераторов длинных списков
    Рекомендация 10. По возможности используйте функцию enumerate() вместо функции range()
    Рекомендация 11. Используйте функцию zip() для параллельной обработки итераторов
    Рекомендация 12. Избегайте использования блоков else после циклов for и while
    Рекомендация 13. Старайтесь использовать возможности каждого из блоков конструкции try/except/else/finally

    Глава 2. Функции
    Рекомендация 14. Использование исключений предпочтительнее возврата значения None
    Рекомендация 15. Знайте, как замыкания взаимодействуют с областью видимости переменных
    Рекомендация 16. Не упускайте возможность использовать генераторы вместо возврата списков
    Рекомендация 17. Не забывайте о мерах предосторожности при итерировании аргументов
    Рекомендация 18. Снижайте визуальный шум с помощью переменного количества позиционных аргументов
    Рекомендация 19. Обеспечивайте опциональное поведение с помощью именованных аргументов
    Рекомендация 20. Используйте значение None и средство Docstrings при задании динамических значений по умолчанию для аргументов
    Рекомендация 21. Повышайте ясность кода, используя именованные аргументы

    Глава 3. Классы и наследование
    Рекомендация 22. Отдавайте предпочтение структуризации данных с помощью классов, а не словарей или кортежей
    Рекомендация 23. Принимайте функции вместо классов в случае простых интерфейсов
    Рекомендация 24. Используйте полиморфизм @classmethod для конструирования объектов обобщенным способом
    Рекомендация 25. Инициализация родительских классов с помощью встроенной функции super()
    Рекомендация 26. Используйте множественное наследование лишь для примесных вспомогательных классов
    Рекомендация 27. Предпочитайте общедоступные атрибуты закрытым
    Рекомендация 28. Используйте наследование от классов из модуля collections.abc для создания пользовательских контейнерных типов

    Глава 4. Метаклассы и атрибуты
    Рекомендация 29. Используйте простые атрибуты вместо методов get() и set()
    Рекомендация 30. Старайтесь использовать декораторы @property вместо рефакторинга атрибутов
    Рекомендация 31. Используйте дескрипторы для повторно используемых методов @property
    Рекомендация 32. Используйте методы __getattr__(), __getattribute__() и __setattr__() для отложенных атрибутов
    Рекомендация 33. Верификация подклассов с помощью метаклассов
    Рекомендация 34. Регистрируйте существование классов с помощью метаклассов
    Рекомендация 35. Аннотирование атрибутов классов с помощью метаклассов

    Глава 5. Одновременность и параллелизм
    Рекомендация 36. Использование модуля subprocess для управления дочерними процессами
    Рекомендация 37. Используйте потоки для блокирования операций ввода-вывода, но но для параллелизма
    Рекомендация 38. Используйте класс Lock для предотвращения гонки данных в потоках
    Рекомендация 39. Использование очередей для координации работы потоков
    Рекомендация 40. Используйте сопрограммы для одновременного выполнения нескольких функций
    Рекомендация 41. Старайтесь использовать модуль concurrent.futures для обеспечения истинного параллелизма

    Глава 6. Встроенные модули
    Рекомендация 42. Определяйте декораторы функций с помощью модуля functools.wraps
    Рекомендация 43. Обеспечивайте возможность повторного использования блоков try/finally с помощью инструкций contextlib и with
    Рекомендация 44. Повышайте надежность встроенного модуля pickle с помощью модуля copyreg
    Рекомендация 45. Используйте модуль datetime вместо модуля time для локальных часов
    Рекомендация 46. Используйте встроенные алгоритмы и структуры данных
    Рекомендация 47. Используйте класс Decimal, когда на первый план выходит точность
    Рекомендация 48. Знайте, где искать модули, разработанные сообществом Python

    Глава 7. Совместная работа
    Рекомендация 49. Снабжайте строками документирования каждую функцию, класс и модуль
    Рекомендация 50. Используйте пакеты для организации модулей и предоставления стабильных API
    Рекомендация 51. Изолируйте вызывающий код от API, определяя базовое исключение Exception
    Рекомендация 52. Знайте, как устранять циклические зависимости
    Рекомендация 53. Используйте виртуальные среды для изолированных и воспроизводимых зависимостей

    Глава 8. Производство
    Рекомендация 54. Используйте код с областью видимости модуля для конфигурирования сред развертывания
    Рекомендация 55. Используйте строки repr для вывода отладочной информации
    Рекомендация 56. Тестируйте любой код с помощью модуля unittest
    Рекомендация 57. Используйте интерактивную отладку с помощью пакета pdb
    Рекомендация 58. Сначала — профилирование, затем — оптимизация
    Рекомендация 59. Используйте модуль tracemalloc для контроля памяти и предотвращения ее утечки

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



    Это рескладчина на
    Ознакомьтесь с правилами проведения и участия в рескладчинах!
     
    Загрузка...