Простой Python. Современный стиль программирования. 2 изд

Оглавление⌄
Об авторе....34 Введение....26 Для кого эта книга....27 Что нового во втором издании....27 Структура книги....28 Версии Python....31 Условные обозначения....31 Использование примеров кода....32 От издательства....32 Благодарности....33 Часть I. Основы Python....35 Глава 1. Python: с чем его едят....36 Тайны....36 Маленькие программы....38 Более объемная программа....40 Python в реальном мире....44 Python против языка с планеты Х....45 Почему же Python?....48 Когда не стоит использовать Python....49 Python 2 против Python 3....50 Установка Python....51 Запуск Python....51 Интерактивный интерпретатор....51 Файлы Python....52 Что дальше?....53 Момент просветления....53 Читайте далее....54 Упражнения....54 Глава 2. Данные: типы, значения, переменные и имена....55 В Python данные являются объектами....55 Типы....56 Изменчивость....57 Значения-литералы....58 Переменные....58 Присваивание....60 Переменные — это имена, а не локации....61 Присваивание нескольким именам....64 Переназначение имени....64 Копирование....64 Выбираем хорошее имя переменной....65 Читайте далее....66 Упражнения....66 Глава 3. Числа....67 Булевы значения....67 Целые числа....68 Числа-литералы....68 Операции с целыми числами....69 Целые числа и переменные....71 Приоритет операций....73 Системы счисления....74 Преобразования типов....76 Насколько объемен тип int?....78 Числа с плавающей точкой....79 Математические функции....80 Читайте далее....81 Упражнения....81 Глава 4. Выбираем с помощью оператора if....82 Комментируем с помощью символа #....82 Продлеваем строки с помощью символа \....83 Сравниваем с помощью операторов if, elif и else....84 Что есть истина?....87 Выполняем несколько сравнений с помощью оператора in....88 Новое: I Am the Walrus....89 Читайте далее....90 Упражнения....90 Глава 5. Текстовые строки....91 Создаем строки с помощью кавычек....91 Создаем строки с помощью функции str()....94 Создаем escape-последовательности с помощью символа \....94 Объединяем строки с использованием символа +....96 Размножаем строки с помощью символа *....96 Извлекаем символ с помощью символов [ ]....97 Извлекаем подстроки, используя разделение....98 Измеряем длину строки с помощью функции len()....100 Разделяем строку с помощью функции split()....100 Объединяем строки с помощью функции join()....101 Заменяем символы с использованием функции replace()....101 Устраняем символы с помощью функции strip()....102 Поиск и выбор....103 Регистр....104 Выравнивание....105 Форматирование....105 Старый стиль: %....106 Новый стиль: используем символы {} и функцию format()....108 Самый новый стиль: f-строки....110 Что еще можно делать со строками....111 Читайте далее....111 Упражнения....111 Глава 6. Создаем циклы с помощью ключевых слов while и for....113 Повторяем действия с помощью цикла while....113 Прерываем цикл с помощью оператора break....114 Пропускаем итерации, используя оператор continue....114 Проверяем, завершился ли цикл раньше, с помощью блока else....115 Выполняем итерации с использованием ключевых слов for и in....115 Прерываем цикл с помощью оператора break....116 Пропускаем итерации, используя оператор continue....116 Проверяем, завершился ли цикл раньше, с помощью блока else....116 Генерируем числовые последовательности с помощью функции range()....117 Прочие итераторы....118 Читайте далее....118 Упражнения....118 Глава 7. Кортежи и списки....119 Кортежи....119 Создаем кортежи с помощью запятых и оператора ()....120 Создаем кортежи с помощью функции tuple()....121 Объединяем кортежи с помощью оператора +....121 Размножаем элементы с помощью оператора * ....122 Сравниваем кортежи....122 Итерируем по кортежам с помощью for и in....122 Изменяем кортеж....122 Списки....123 Создаем списки с помощью скобок []....123 Создаем список или преобразуем в список с помощью функции list()....123 Создаем список из строки с использованием функции split()....124 Получаем элемент с помощью конструкции [смещение]....124 Извлекаем элементы с помощью разделения....125 Добавляем элемент в конец списка с помощью функции append()....126 Добавляем элемент на определенное место с помощью функции insert()....126 Размножаем элементы с помощью оператора *....127 Объединяем списки с помощью метода extend() или оператора +....127 Изменяем элемент с помощью конструкции [смещение]....128 Изменяем элементы с помощью разделения....128 Удаляем заданный элемент с помощью оператора del....129 Удаляем элемент по значению с помощью функции remove()....129 Получаем и удаляем заданный элемент с помощью функции pop()....129 Удаляем все элементы с помощью функции clear()....130 Определяем смещение по значению с помощью функции index()....130 Проверяем на наличие элемента в списке с помощью оператора in....131 Подсчитываем количество включений значения с помощью функции count()....131 Преобразуем список в строку с помощью функции join()....131 Меняем порядок элементов с помощью функций sort() или sorted()....132 Получаем длину списка с помощью функции len()....133 Присваиваем с помощью оператора =....133 Копируем списки с помощью функций copy() и list() или путем разделения....134 Копируем все с помощью функции deepcopy()....134 Сравниваем списки ....135 Итерируем по спискам с помощью операторов for и in....136 Итерируем по нескольким последовательностям с помощью функции zip()....137 Создаем список с помощью списковых включений....138 Списки списков....140 Кортежи или списки?....141 Включений кортежей не существует....141 Читайте далее....142 Упражнения....142 Глава 8. Словари и множества....144 Словари....144 Создаем словарь с помощью {}....144 Создаем словарь с помощью функции dict()....145 Преобразуем с помощью функции dict()....146 Добавляем или изменяем элемент с помощью конструкции [ключ]....146 Получаем элемент словаря с помощью конструкции [ключ] или функции get()....148 Получаем все ключи с помощью функции keys()....148 Получаем все значения с помощью функции values()....149 Получаем все пары «ключ — значение» с помощью функции items()....149 Получаем длину словаря с помощью функции len()....149 Объединяем словари с помощью конструкции {**a, **b}....149 Объединяем словари с помощью функции update()....150 Удаляем элементы по их ключу с помощью оператора del....151 Получаем элемент по ключу и удаляем его с помощью функции pop()....151 Удаляем все элементы с помощью функции clear()....151 Проверяем на наличие ключа с помощью оператора in....152 Присваиваем значения с помощью оператора =....152 Копируем значения с помощью функции copy()....152 Копируем все с помощью функции deepcopy() ....153 Сравниваем словари....154 Итерируем по словарям с помощью for и in....154 Включения словарей....155 Множества....156 Создаем множество с помощью функции set()....157 Преобразуем другие типы данных с помощью функции set()....157 Получаем длину множества с помощью функции len()....158 Добавляем элемент с помощью функции add()....158 Удаляем элемент с помощью функции remove()....158 Итерируем по множествам с помощью for и in....158 Проверяем на наличие значения с помощью оператора in....158 Комбинации и операторы....159 Включение множества....162 Создаем неизменяемое множество с помощью функции frozenset()....162 Структуры данных, которые мы уже рассмотрели....163 Создание крупных структур данных....164 Читайте далее....164 Упражнения....165 Глава 9. Функции....166 Определяем функцию с помощью ключевого слова def....166 Вызываем функцию с помощью скобок....167 Аргументы и параметры....167 None — это полезно....169 Позиционные аргументы....170 Аргументы — ключевые слова....171 Указываем значение параметра по умолчанию....171 Получаем/разбиваем аргументы — ключевые слова с помощью символа *....172 Получаем/разбиваем аргументы — ключевые слова с помощью символов **....174 Аргументы, передаваемые только по ключевым словам....175 Изменяемые и неизменяемые аргументы....176 Строки документации....176 Функции — это объекты первого класса....177 Внутренние функции....179 Анонимные функции: лямбда-выражения....181 Генераторы....182 Функции-генераторы....182 Включения генераторов....183 Декораторы....183 Пространства имен и область определения....186 Использование символов _ и __ в именах....188 Рекурсия....188 Асинхронные функции....190 Исключения....190 Обрабатываем ошибки с помощью операторов try и except....191 Создаем собственные исключения....192 Читайте далее....193 Упражнения....193 Глава 10. Ой-ой-ой: объекты и классы....194 Что такое объекты....194 Простые объекты....195 Определяем класс с помощью ключевого слова class....195 Атрибуты....196 Методы....197 Инициализация....197 Наследование....198 Наследование от родительского класса....199 Переопределение методов....200 Добавление метода....201 Получаем помощь от своего «родителя» с использованием метода super()....202 Множественное наследование....203 Примеси....205 В защиту self....205 Доступ к атрибутам....206 Прямой доступ....206 Геттеры и сеттеры....206 Свойства для доступа к атрибутам....207 Свойства для вычисляемых значений....209 Искажение имен для безопасности....209 Атрибуты классов и объектов....210 Типы методов....211 Методы объектов....211 Методы классов....212 Статические методы....212 Утиная типизация....213 Магические методы....215 Агрегирование и композиция....218 Когда использовать объекты, а когда — что-то другое....218 Именованные кортежи....219 Классы данных....221 Attrs....222 Читайте далее....222 Упражнения....222 Глава 11. Модули, пакеты и программы....224 Модули и оператор import....224 Импортируем модуль....224 Импортируем модуль с другим именем....226 Импортируем только самое необходимое....226 Пакеты....227 Путь поиска модуля....228 Относительный и абсолютный импорт....229 Пакеты пространств имен....229 Модули против объектов....230 Достоинства стандартной библиотеки Python....231 Обрабатываем отсутствующие ключи с помощью функций setdefault() и defaultdict()....231 Подсчитываем элементы с помощью функции Counter()....233 Упорядочиваем по ключу с помощью OrderedDict()....235 Стек + очередь == deque....235 Итерируем по структурам кода с помощью модуля itertools....236 Красиво выводим данные на экран с помощью функции pprint()....238 Работаем со случайными числами....238 Нужно больше кода....239 Читайте далее....240 Упражнения....240 Часть II. Python на практике....241 Глава 12. Обрабатываем данные....242 Текстовые строки: Unicode....243 Строки формата Unicode в Python 3....244 Кодирование и декодирование с помощью кодировки UTF-8....246 Кодирование....247 Декодирование....249 Сущности HTML....250 Нормализация....251 Подробная информация....252 Текстовые строки: регулярные выражения....253 Ищем точное начальное совпадение с помощью функции match()....254 Ищем первое совпадение с помощью функции search()....255 Ищем все совпадения, используя функцию findall()....255 Разбиваем совпадения с помощью функции split()....256 Заменяем совпадения с помощью функции sub()....256 Шаблоны: специальные символы....256 Шаблоны: использование спецификаторов....258 Шаблоны: указываем способ вывода совпадения....261 Бинарные данные....261 bytes и bytearray....262 Преобразуем бинарные данные с помощью модуля struct....263 Другие инструменты для работы с бинарными данными....266 Преобразуем байты/строки с помощью модуля binascii....267 Битовые операторы....267 Аналогия с ювелирными изделиями....268 Читайте далее....268 Упражнения....268 Глава 13. Календари и часы....271 Високосный год....272 Модуль datetime....273 Модуль time....275 Читаем и записываем дату и время....277 Все преобразования....281 Альтернативные модули....281 Читайте далее....282 Упражнения....282 Глава 14. Файлы и каталоги....283 Ввод информации в файлы и ее вывод из них....283 Создаем или открываем файлы с помощью функции open()....284 Записываем в текстовый файл с помощью функции print()....284 Записываем в текстовый файл с помощью функции write()....285 Считываем данные из текстового файла, используя функции read(), readline() и readlines()....286 Записываем данные в бинарный файл с помощью функции write()....288 Читаем бинарные файлы с помощью функции read()....289 Закрываем файлы автоматически с помощью ключевого слова with....289 Меняем позицию с помощью функции seek()....289 Отображение в памяти....291 Операции с файлами....292 Проверяем существование файла с помощью функции exists()....292 Проверяем тип с помощью функции isfile()....292 Копируем файлы, используя функцию copy()....293 Изменяем имена файлов с помощью функции rename()....293 Создаем ссылки с помощью функции link() или symlink()....293 Изменяем разрешения с помощью функции chmod()....294 Изменение владельца файла с помощью функции chown()....294 Удаляем файл с помощью функции remove()....294 Каталоги....295 Создаем каталог с помощью функции mkdir()....295 Удаляем каталог, используя функцию rmdir()....295 Выводим на экран содержимое каталога с помощью функции listdir()....295 Изменяем текущий каталог с помощью функции chdir()....296 Перечисляем совпадающие файлы, используя функцию glob()....296 Pathname....297 Получаем pathname с помощью функции abspath()....298 Получаем символьную ссылку с помощью функции realpath()....298 Построение pathname с помощью функции os.path.join()....298 Модуль pathlib....298 BytesIO и StringIO....299 Читайте далее....301 Упражнения....301 Глава 15. Данные во времени: процессы и конкурентность....302 Программы и процессы....302 Создаем процесс с помощью модуля subprocess....303 Создаем процесс с помощью модуля multiprocessing....304 Убиваем процесс, используя функцию terminate()....305 Получаем системную информацию с помощью модуля os....306 Получаем информацию о процессах с помощью модуля psutil....306 Автоматизация команд....307 Invoke....307 Другие вспомогательные методы для команд....308 Конкурентность....308 Очереди....309 Процессы....310 Потоки....311 Concurrent.futures....314 Зеленые потоки и gevent....317 Twisted....320 Asyncio....321 Redis....321 Помимо очередей....325 Читайте далее....326 Упражнения....326 Глава 16. Данные в коробке: надежные хранилища....327 Плоские текстовые файлы....327 Текстовые файлы, дополненные пробелами....328 Структурированные текстовые файлы....328 CSV....328 XML....331 Примечание о безопасности XML ....333 HTML....333 JSON....334 YAML....337 Tablib....338 Pandas....338 Конфигурационные файлы....340 Бинарные файлы....341 Электронные таблицы....341 HDF5....341 TileDB....342 Реляционные базы данных....342 SQL....343 DB-API....345 SQLite....345 MySQL....347 PostgreSQL....347 SQLAlchemy....348 Другие пакеты для работы с базами данных....354 Хранилища данных NoSQL....354 Семейство dbm....354 Memcached....355 Redis....356 Документоориентированные базы данных....363 Базы данных временных рядов....364 Графовые базы данных....365 Другие серверы NoSQL....365 Полнотекстовые базы данных....366 Читайте далее....366 Упражнения....366 Глава 17. Данные в пространстве: сети....368 TCP/IP....368 Сокеты....370 Scapy....374 Netcat....374 Паттерны для работы с сетями....375 Паттерн «Запрос — ответ»....375 ZeroMQ....375 Другие инструменты обмена сообщениями....380 Паттерн «Публикация — подписка»....380 Redis....380 ZeroMQ....382 Другие инструменты «публикации — подписки»....383 Интернет-сервисы....384 Доменная система имен....384 Модули Python для работы с электронной почтой....385 Другие протоколы....385 Веб-сервисы и API....385 Сериализация данных....386 Сериализация с помощью pickle....387 Другие форматы сериализации....388 Удаленные вызовы процедур....388 XML RPC....389 JSON RPC....390 MessagePack RPC....391 Zerorpc....392 gRPC....393 Twirp....393 Инструменты удаленного управления....394 Работаем с большими объемами данных....394 Hadoop....394 Spark....395 Disco....395 Dask....395 Работаем в облаках....396 Amazon Web Services....397 Google....397 Microsoft Azure....397 OpenStack....398 Docker....398 Kubernetes....398 Читайте далее....398 Упражнения....399 Глава 18. Распутываем Всемирную паутину....400 Веб-клиенты....401 Тестируем с помощью telnet....402 Тестируем с помощью curl....403 Тестируем с использованием httpie....404 Тестируем с помощью httpbin....405 Стандартные веб-библиотеки Python....405 За пределами стандартной библиотеки: requests....407 Веб-серверы....408 Простейший веб-сервер Python....409 Web Server Gateway Interface (WSGI)....410 ASGI....411 Apache....411 NGINX....412 Другие веб-серверы Python....413 Фреймворки для работы веб-серверами....413 Bottle....414 Flask....416 Django....420 Другие фреймворки....421 Фреймворки для работы с базами данных....421 Веб-сервисы и автоматизация....422 Модуль webbrowser....422 Модуль webview....423 REST API....424 Поиск и выборка данных....424 Scrapy....425 BeautifulSoup....425 Requests-HTML....426 Давайте посмотрим фильм....426 Читайте далее....429 Упражнения....429 Глава 19. Быть питонщиком....431 О программировании....431 Ищем код на Python....432 Установка пакетов....432 pip....433 virtualenv....434 pipenv....434 Менеджер пакетов....434 Установка из исходного кода....435 Интегрированные среды разработки....435 IDLE....435 PyCharm....435 IPython....436 Jupyter Notebook....438 JupyterLab....438 Именование и документирование....438 Добавление подсказок типов....440 Тестирование кода....440 Программы pylint, pyflakes, flake8 или PEP-8....441 Пакет unittest....443 Пакет doctest....447 Пакет nose....448 Другие фреймворки для тестирования....449 Постоянная интеграция....449 Отладка кода....450 Функция print()....450 Отладка с помощью декораторов....451 Отладчик pdb....452 Функция breakpoint()....458 Записываем в журнал сообщения об ошибках....458 Оптимизация кода....460 Измеряем время....461 Алгоритмы и структуры данных....464 Cython, NumPy и расширения C....465 PyPy....465 Numba....466 Управление исходным кодом....467 Mercurial....467 Git....467 Распространение ваших программ....470 Клонируйте эту книгу....470 Как узнать больше....470 Книги....471 Сайты....471 Группы....472 Конференции....472 Вакансии, связанные с Python....472 Читайте далее....473 Упражнения....473 Глава 20. Пи-Арт....474 Двумерная графика....474 Стандартная библиотека....474 PIL и Pillow....475 ImageMagick....478 Трехмерная графика....478 Трехмерная анимация....479 Графические пользовательские интерфейсы (GUI)....479 Диаграммы, графики и визуализация....481 Matplotlib....481 Seaborn....483 Bokeh....485 Игры....485 Аудио и музыка....486 Читайте далее....486 Упражнения....486 Глава 21. За работой....487 The Microsoft Office Suite....487 Выполняем бизнес-задачи....488 Обработка бизнес-данных....489 Извлечение, преобразование и загрузка....489 Валидация данных....493 Дополнительные источники информации....493 Пакеты для работы с бизнес-данными с открытым исходным кодом ....494 Python в области финансов....494 Безопасность бизнес-данных....495 Карты....495 Форматы....496 Нарисуем карту на основе шейп-файла....496 Geopandas....498 Другие пакеты для работы с картами....500 Приложения и данные....501 Читайте далее....502 Упражнения....502 Глава 22. Py в науке....503 Математика и статистика в стандартной библиотеке....503 Математические функции....503 Работа с комплексными числами....505 Рассчитываем точное значение чисел с плавающей точкой с помощью модуля decimal....506 Выполняем вычисления для рациональных чисел с помощью модуля fractions....507 Используем Packed Sequences с помощью модуля array....507 Обрабатываем простую статистику с помощью модуля statistics....508 Перемножение матриц....508 Python для науки....508 NumPy....508 Создаем массив с помощью функции array()....509 Создаем массив с помощью функции arange()....510 Создаем массив с помощью функций zeros(), ones() и random()....511 Изменяем форму массива с помощью метода reshape()....512 Получаем элемент с помощью конструкции []....513 Математика массивов....514 Линейная алгебра....514 Библиотека SciPy....515 Библиотека SciKit....516 Pandas....516 Python и научные области....517 Читайте далее....518 Упражнения....518 Приложения....519 Приложение А. Аппаратное и программное обеспечение для начинающих программистов....520 Аппаратное обеспечение....520 Компьютеры пещерных людей....520 Электричество....521 Изобретения....521 Идеальный компьютер....522 Процессор....522 Память и кэш....522 Хранение....522 Ввод данных....523 Вывод данных....523 Относительное время доступа....523 Программное обеспечение....524 Вначале был бит....524 Машинный язык....524 Ассемблер....525 Высокоуровневые языки....525 Операционные системы....526 Виртуальные машины....527 Контейнеры....527 Распределенные вычисления и сети....527 Облако....528 Kubernetes....528 Приложение Б. Установка Python 3....530 Проверьте свою версию Python....530 Установка стандартной версии Python....531 macOS....532 Windows....534 Linux или Unix....535 Установка менеджера пакетов pip ....535 Установка virtualenv....535 Другие способы работы с пакетами....536 Устанавливаем Anaconda....536 Приложение В. Нечто совершенно иное: async....538 Сопрограммы и циклы событий....538 Async против…....542 Асинхронные фреймворки и серверы....542 Приложение Г. Ответы к упражнениям....544 1. Python: с чем его едят....544 2. Типы данных, значения, переменные и имена....545 3. Числа....545 4. Выбираем с помощью if....546 5. Текстовые строки....547 6. Создаем циклы с помощью ключевых слов while и for....551 7. Кортежи и списки....552 8. Словари....556 9. Функции....559 10. Ой-ой-ой: объекты и классы....560 11. Модули, пакеты и программы....564 12. Обрабатываем данные....566 13. Календари и часы....571 14. Файлы и каталоги....572 15. Данные во времени: процессы и конкурентность....573 16. Данные в коробке: устойчивые хранилища....574 17. Данные в пространстве: сети....577 18. Распутываем Всемирную паутину....584 19. Быть питонщиком....585 20. Пи-Арт....585 21. За работой....586 22. Py в науке....586 Приложение Д. Вспомогательные таблицы ....587 Приоритет операторов....587 Строковые методы....588 Изменение регистра....588 Поиск....588 Изменение....588 Форматирование....589 Тип строки....589 Атрибуты модуля string....589 Эпилог....591Описание
В этом материале разберём тему: python.
«Простой Python» познакомит вас с одним из самых популярных языков программирования. Книга идеально подойдет как начинающим, так и опытным программистам, желающим добавить Python к списку освоенных языков.
Вы начнете с основ Python и его стандартной библиотеки. Любому программисту нужно знать не только язык, но и его возможности. Узнаете, как находить, загружать, устанавливать и использовать сторонние пакеты. Примеры кода и упражнения помогут в создании приложений для различных целей. Изучите лучшие практики тестирования, отладки, повторного использования кода и получите полезные советы по разработке.
Что изменилось?Абсолютно новые 100 страниц (там есть котики).Глав стало большое, но они стали короче.Появилась глава, посвященная типам данных, переменным и именам.Добавился рассказ о новых возможностях Python, таких как f-строки.Обновилась информация о сторонних библиотеках.Новые примеры кода.Дан обзор библиотеки asyncio.Рассмотрен новый стек технологий: контейнеры, облачные технологии, data science и машинное обучение.Что осталось неизменным?Примеры c утками и плохими стихотворениями. Они навечно с нами.
Если материал оказался полезен — сохраните страницу.
Поделиться
Частые вопросы
Можно ли скачать «Простой Python. Современный стиль программирования. 2 изд» бесплатно?
Да, «Простой Python. Современный стиль программирования. 2 изд» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF.
Кто автор и когда вышла книга?
автор — Любанович Билл, издательство Питер, год выпуска 2021, 592 страниц.
О чём книга «Простой Python. Современный стиль программирования. 2 изд»?
«Простой Python» познакомит вас с одним из самых популярных языков программирования.