Простой-Python

Руководство, от теории к практике.

Билл Любанович "Простой Python. Современный стиль программирования" Питер, 2016 год, 480 стр. (11,3 мб. pdf)

Простой Python - книга в которой автор проведет вас от основ языка - что интересно для начинающих, до современных концепций программирования на Python 3. Представляя свою книгу, как смесь стилей учебного пособия и книги рецептов, автор постепенно вводит читателя в мир Python объясняя почему стоит изучить именно этот язык, чем он так привлекателен. Ведь Python появился раньше чем Java (на данный момент один из самых модных языков) и входит в десятку наиболее популярных языков программирования.

Python простой (синтаксически), высокопроизводительный, высокоуровневый, элегантный (хорошо читаемый и лаконичный) язык на котором написаны такие web-сервисы, как: Google, YouTube, Dropbox, Netflix, Hulu и др., с которыми мы сталкиваемся чуть ли не каждый день. Python занимает первое место среди курсов для начинающих в колледжах США. Программы написанные на нем могут быть простыми сценариями в несколько строк кода и сложными высокофункциональными сервисами имеющими десятки и даже сотни тысяч строк, он нашел применение в научных, медицинских и статистических исследованиях имея множество стандартных библиотек.

О всех достоинствах и недостатках языка, о различиях в версиях Python 2 и Python 3, вы также прочтете в книге. Что такое простой Python и с чем его едят, все это автор подкрепляет примерами кода с прекрасными комментариями. Такой подход делает интересной книгу не только для начинающих, но и для практикующих программистов.

ISBN: 978-5-496-02088-6

Краткое описание содержания

Оглавление.

Введение
Аудитория
Краткое описание
Версии Python
Соглашения, принятые в этой книге
Использование примеров кода
Как с нами связаться
Благодарности

Глава 1. Python: с чем его едят
Python в реальном мире
Python против языка Х
Почему же Python?
Когда не стоит использовать Python
Python 2 против Python 3
Установка Python
Запуск Python
Использование интерактивного интерпретатора
Использование файлов Python
Что дальше?
Момент просветления
Упражнения

Глава 2. Ингредиенты Python: числа, строки и переменные
Переменные, имена и объекты
Числа
Целые числа
Приоритет операций
Системы счисления
Преобразования типов
Насколько объемен тип int?
Числа с плавающей точкой
Математические функции
Строки
Создаем строки с помощью кавычек
Преобразование типов данных с помощью функции str()
Создаем управляющие символы с помощью символа
Объединяем строки с помощью символа +
Размножаем строки с помощью символа *
Извлекаем символ с помощью символов [ ] Извлекаем подстроки с помощью оператора [ start : end : step ] Получаем длину строки с помощью функции len()
Разделяем строку с помощью функции split()
Объединяем строки с помощью функции join()
Развлекаемся со строками
Регистр и выравнивание
Заменяем символы с помощью функции replace()
Больше действий со строками
Упражнения

Глава 3. Наполнение Python: списки, кортежи, словари и множества

Списки и кортежи

Списки
Создание списков с помощью оператора [] или метода list()
Преобразование других типов данных в списки с помощью функции list()
Получение элемента с помощью конструкции [смещение]

Списки списков
Изменение элемента с помощью конструкции [смещение] Отрежьте кусочек - извлечение элементов с помощью диапазона смещений
Добавление элемента в конец списка с помощью метода append(). 75
Объединяем списки с помощью метода extend() или оператора +=
Добавление элемента с помощью функции insert()
Удаление заданного элемента с помощью функции del
Удаление элемента по значению с помощью функции remove()
Получение заданного элемента и его удаление с помощью функции pop()
Определение смещения элемента по значению с помощью функции index()
Проверка на наличие элемента в списке с помощью оператора in. 78
Определяем количество включений значения с помощью функции count(). 78
Преобразование списка в строку с помощью функции join()
Меняем порядок элементов с помощью функции sort()
Получение длины списка с помощью функции len()
Присваивание с помощью оператора =, копирование с помощью функции copy()

Кортежи
Создание кортежей с помощью оператора ()
Кортежи против списков

Словари
Создание словаря с помощью {}
Преобразование с помощью функции dict()
Добавление или изменение элемента с помощью конструкции [ключ] Объединение словарей с помощью функции update()
Удаление элементов по их ключу с помощью del
Удаление всех элементов с помощью функции clear()
Проверяем на наличие ключа с помощью in
Получение элемента словаря с помощью конструкции [ключ] Получение всех ключей с помощью функции keys()
Получение всех значений с помощью функции values()
Получение всех пар "ключ - значение" с помощью функции items()
Присваиваем значения с помощью оператора =, копируем их с помощью функции copy()
Множества
Создание множества с помощью функции set()
Преобразование других типов данных с помощью функции set()
Проверяем на наличие значения с помощью ключевого слова in
Комбинации и операторы
Сравнение структур данных
Создание крупных структур данных
Упражнения

Глава 4. Корочка Python: структуры кода
Комментируем с помощью символа #
Продлеваем строки с помощью символа
Сравниваем выражения с помощью операторов if, elif и else
Повторяем действия с помощью while
Прерываем цикл с помощью break
Пропускаем итерации с помощью continue
Проверяем, завершился ли цикл заранее, с помощью else
Выполняем итерации с помощью for
Прерываем цикл с помощью break
Пропускаем итерации с помощью continue
Проверяем, завершился ли цикл заранее, с помощью else
Итерирование по нескольким последовательностям с помощью функции zip()
Генерирование числовых последовательностей с помощью функции range()

Прочие итераторы
Включения
Включение списков
Включение словаря
Включение множества
Включение генератора

Функции
Позиционные аргументы
Аргументы - ключевые слова
Указываем значение параметра по умолчанию
Получаем позиционные аргументы с помощью *
Получение аргументов - ключевых слов с помощью **
Строки документации
Функции - это граждане первого класса
Внутренние функции
Замыкания
Анонимные функции: функция lambda()
Генераторы
Декораторы
Пространства имен и область определения
Обработка ошибок с помощью try и except
Создание собственных исключений
Упражнения

Глава 5. Py Boxes: модули, пакеты и программы
Отдельные программы
Аргументы командной строки
Модули и утверждение import
Импортируем модуль
Импортируем модуль с другим именем
Импортируем только самое необходимое
Директории поиска модулей
Пакеты
Стандартная библиотека Python
Обработка отсутствующих ключей с помощью функций setdefault() и defaultdict()
Подсчитываем элементы с помощью функции Counter()
Упорядочиваем по ключу с помощью OrderedDict()
Стек + очередь == deque
Итерируем по структурам кода с помощью itertools
Выводим данные на экран красиво с помощью функции pprint()
Нужно больше кода
Упражнения

Глава 6. Ой-ой-ой: объекты и классы
Что такое объекты
Определяем класс с помощью ключевого слова class
Наследование
Перегрузка метода
Добавление метода
Просим помощи у родителя с помощью ключевого слова super
В защиту self
Получаем и устанавливаем значение атрибутов с помощью свойств
Искажение имен для безопасности
Типы методов
Утиная типизация
Особые методы
Композиция
Когда лучше использовать классы и объекты, а когда - модули
Упражнения

Глава 7. Работаем с данными профессионально
Текстовые строки
Unicode
Формат
Совпадение с регулярными выражениями
Бинарные данные
bytes и bytearray
Преобразуем бинарные данные с помощью модуля struct
Другие инструменты для работы с бинарными данными
Преобразование байтов/строк с помощью функции binascii()
Битовые операторы
Упражнения

Глава 8. Данные должны куда-то попадать
Ввод информации в файлы и ее вывод из них
Запись в текстовый файл с помощью функции write()
Считываем данные из текстового файла с помощью функций read(), readline() и readlines()
Записываем данные в бинарный файл с помощью функции write()
Читаем бинарные файлы с помощью функции read()
Закрываем файлы автоматически с помощью ключевого слова with
Меняем позицию с помощью функции seek()
Структурированные текстовые файлы
CSV
XML
HTML
JSON
YAML
Безопасность
Конфигурационные файлы
Другие форматы обмена данными
Сериализация с помощью pickle
Структурированные бинарные файлы
Электронные таблицы
HDF5
Реляционные базы данных
SQL
DB-API
SQLite
MySQL
PostgreSQL
SQLAlchemy
Хранилища данных NoSQL
Семейство dbm
Memcached
Redis
Прочие серверы NoSQL
Full-Text Databases
Упражнения

Глава 9. Распутываем Всемирную паутину
Веб-клиенты
Тестируем с telnet
Стандартные веб-библиотеки Python
За пределами стандартной библиотеки: requests
Веб-серверы
Простейший веб-сервер Python
Web Server Gateway Interface
Фреймворки
Bottle
Flask
Веб-серверы, не использующие Python
Другие фреймворки
Веб-сервисы и автоматизация
Модуль webbrowser
API для Сети и Representational State Transfer
JSON
Поиск и выборка данных
Получаем HTML-код с помощью BeautifulSoup
Упражнения

Глава 10. Системы
Файлы
Создаем файл с помощью функции open()
Проверяем существование файла с помощью функции exists()
Проверяем тип с помощью функции isfile()
Копируем файлы с помощью функции copy()
Изменяем имена файлов с помощью функции rename()
Создаем ссылки с помощью link() или symlink()
Изменяем разрешения с помощью функции chmod()
Изменение владельца файла с помощью функции chown()
Получаем pathname с помощью функции abspath()
Получаем символьную ссылку с помощью функции realpath()
Удаляем файл с помощью функции remove()

Директории
Создаем директорию с помощью функции mkdir()
Удаляем директорию с помощью функции rmdir()
Выведем на экран содержимое директории с помощью функции listdir()
Изменяем текущую директорию с помощью функции chdir()
Перечислим совпадающие файлы с помощью функции glob()
Программы и процессы
Создаем процесс с помощью модуля subprocess
Создание процесса с помощью модуля multiprocessing
Убиваем процесс с помощью функции terminate()
Календари и часы
Модуль datetime
Использование модуля time
Читаем и записываем дату и время
Альтернативные модули
Упражнения

Глава 11. Конкуренция и сети
Конкуренция
Очереди
Процессы
Потоки
Зеленые потоки и gevent
twisted
asyncio
Redis
Помимо очередей
Сети
Шаблоны
Модель публикации-подписки
TCP/IP
Сокеты
ZeroMQ
Scapy
Интернет-службы
Веб-службы и API
Удаленная обработка
Большие данные и MapReduce
Работаем в облаках
Упражнения

Глава 12. Быть питонщиком
О программировании
Ищем код на Python
Установка пакетов
Используем pip
Использование менеджера пакетов
Установка из исходного кода
Интегрированные среды разработки
IDLE
PyCharm
IPython
Именуйте и документируйте
Тестируем ваш код
Тестируем с помощью pylint, pyflakes и PEP-8
Тестируем код с помощью unittest
Тестируем с помощью пакета doctest
Тестируем с помощью пакета nose
Другие фреймворки для тестирования
Постоянная интеграция
Отлаживаем свой код
Отлаживаем с помощью pdb
Записываем в журнал сообщения об ошибках
Оптимизируем ваш код
Измеряем время
Алгоритмы и структуры данных
Cython, NumPy и расширения C
PyPy
Управление исходным кодом
Mercurial
Git
Клонируйте эту книгу
Как узнать больше
Книги
Сайты
Группы
Конференции
Coming Attractions

Приложения.

Приложение A. Пи-Арт
2D-графика
Стандартная библиотека
PIL и Pillow
ImageMagick
Графические пользовательские интерфейсы (Graphical User Interface, GUI)
Трехмерная графика и анимация
Диаграммы, графики и визуализация
matplotlib
bokeh
Игры
Аудио и музыка

Приложение Б. За работой
The Microsoft Office Suite
Выполняем бизнес-задачи
Обработка бизнес-данных
Извлечение, преобразование и загрузка
Дополнительные источники информации
Python в области финансов
Безопасность бизнес-данных
Карты
Форматы
Нарисуем карту
Приложения и данные

Приложение В. Py в науке
Математика и статистика в стандартной библиотеке
Математические функции
Работа с комплексными числами
Рассчитываем точное значение чисел с плавающей точкой с помощью decimal
Выполняем вычисления для рациональных чисел с помощью модуля fractions
Используем Packed Sequences с помощью array
Обработка простой статистики с помощью модуля statistics
Перемножение матриц
Python для науки
NumPy
Создание массива с помощью функции array()
Создание массива с помощью функции arange()
Создание массива с помощью функций zeros(), ones() и random()
Изменяем форму массива с помощью метода reshape()
Получаем элемент с помощью конструкции [] Математика массивов
Линейная алгебра
Библиотека SciPy
Библиотека SciKit
Библиотека IPython
Лучший интерпретатор
Блокноты IPython
Pandas
Python и научные области

Приложение Г. Установка Python 3
Установка стандартной версии Python
Mac OS X
Windows. 432
Linux или Unix
Установка Anaconda
Установка и использование pip и virtualenv
Установка и использование conda

Приложение Д. Ответы к упражнениям
Глава 1. Python: с чем его едят
Глава 2. Ингредиенты Python: числа, строки и переменные
Глава 3. Наполнение Python: списки, кортежи, словари и множества
Глава 4. Корочка Python: структуры кода
Глава 5. Py Boxes: модули, пакеты и программы
Глава 6. Ой-ой-ой: объекты и классы
Глава 7. Работаем с данными профессионально
Глава 8. Данные должны куда-то попадать
Глава 9. Распутываем Всемирную паутину
Глава 10. Системы
Глава 11. Конкуренция и сети

Приложение Е. Вспомогательные таблицы
Приоритет операторов
Строковые методы
Изменение регистра
Поиск
Изменение
Форматирование
Тип строки
Атрибуты модуля string

Скачать книгу бесплатно11,3 мб. pdf