1   2   3   4   5   6   7   8   9   ...   14
Ім'я файлу: AByteofPythonRussian-2.02.pdf
Розширення: pdf
Розмір: 776кб.
Дата: 07.10.2021
скачати
Пов'язані файли:
1.pptx

A Byte of Python (Версия 2.02
Swaroop C H (Перевод Владимир Смоляр)
26 апреля 2020
Оглавление Обложка
1
1.1
«Укус Питона – «A Byte of Python» по-русски
1 Кто читает «A Byte of Python»?
1 Лицензия Читать Купить книгу Скачать Книга на вашем родном языке Переводы
7
2.1
Доступные переводыпереводы
7
3 Предисловие
16
3.1
Для кого эта книга. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Немного истории. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Состояние книги. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Официальная веб-страница
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 К размышлению. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4 Введение
19
4.1
Особенности Python
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2
Python 2 против 3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Что говорят программисты. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5 Установка
24
5.1
Установка в GNU/Linux и BSD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Установка в Windows
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Для пользователей Mac OS X
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
i

6 Первые шаги
28
6.1
Использование командной строки интерпретатора. . . . . . . . . . . . . . . 28 Выбор редактора. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Использование программных файлов. . . . . . . . . . . . . . . . . . . . . . . 30 Получение помощи. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7 Основы
36
7.1
Комментарии
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 7.2
Литеральные константы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Числа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Строки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Переменные. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Имена идентификаторов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Типы данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Объекты. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Логические и физические строки. . . . . . . . . . . . . . . . . . . . . . . . . 43 7.10 Отступы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 7.11 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8 Операторы и выражения
47
8.1
Операторы
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Порядок вычисления. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Изменение порядка вычисления. . . . . . . . . . . . . . . . . . . . . . . . . . 53 Ассоциативность. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Выражения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
9 Поток команд
55
9.1
Оператор if
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Оператор while
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Цикл for
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Оператор break
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Оператор continue
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10 Функции Параметры функций. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 10.2 Локальные переменные. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 10.3 Зарезервированное слово «global»
. . . . . . . . . . . . . . . . . . . . . . . . . 67 10.4 Зарезервированное слово «nonlocal»
. . . . . . . . . . . . . . . . . . . . . . . 68 10.5 Значения аргументов по умолчанию. . . . . . . . . . . . . . . . . . . . . . . 69 10.6 Ключевые аргументы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 10.7 Переменное число параметров. . . . . . . . . . . . . . . . . . . . . . . . . . . 71 10.8 Только ключевые параметры. . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
ii

10.9 Оператор «return»
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 10.10 Строки документации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 10.11 Аннотации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 10.12 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
11 Модули Файлы байткода .pyc
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 11.2 Оператор from … import …
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 11.3 Имя модуля – __name__
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 11.4 Создание собственных модулей. . . . . . . . . . . . . . . . . . . . . . . . . . 80 11.5 Функция dir
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 11.6 Пакеты. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 11.7 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
12 Структуры данных Список. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 12.2 Краткое введение в объекты и классы. . . . . . . . . . . . . . . . . . . . . . . 85 12.3 Кортеж. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 12.4 Словарь. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 12.5 Последовательности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 12.6 Множество. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 12.7 Ссылки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 12.8 Ещё о строках. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 12.9 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
13 Решение задач Задача. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 13.2 Решение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 13.3 Вторая версия. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 13.4 Третья версия. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 13.5 Четвёртая версия. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 13.6 Дополнительные усовершенствования. . . . . . . . . . . . . . . . . . . . . . 106 13.7 Процесс разработки программного обеспечения. . . . . . . . . . . . . . . . 107 13.8 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
14 Объектно-ориентированное программирование self
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 14.2 Классы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 14.3 Методы объектов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 14.4 Метод. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 14.5 Переменные класса и объекта. . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 14.6 Наследование. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 14.7 Метаклассы
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 14.8 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
iii

15 Ввод-вывод
121
15.1 Ввод от пользователя. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 15.2 Файлы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 15.3 Pickle
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 15.4 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
16 Исключения Ошибки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 16.2 Исключения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 16.3 Обработка исключений. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 16.4 Вызов исключения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 16.5 Try .. Finally
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 16.6 Оператор with
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 16.7 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
17 Стандартная библиотека Модуль sys
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 17.2 Модуль logging
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 17.3 Серия Модуль недели. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 17.4 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
18 Дополнительно Передача кортежей. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 18.2 Специальные методы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 18.3 Блоки водно выражение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 18.4 формы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 18.5 Генераторы списков. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 18.6 Передача кортежей и словарей в функции. . . . . . . . . . . . . . . . . . . . 139 18.7 exec и eval
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 18.8 Оператор assert
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 18.9 Функция repr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 18.10 Управляющие последовательности. . . . . . . . . . . . . . . . . . . . . . . . 141 18.11 Необрабатываемые строки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 18.12 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
19 Что дальше Упражнения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 19.2 Примеры программ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 19.3 Вопросы и ответы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 19.4 Советы и рекомендации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 19.5 Учебники. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 19.6 Видео. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 19.7 Обсуждение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 19.8 Новости. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 19.9 Установка библиотек. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
iv

19.10 Графические программы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 19.11 Резюме по инструментам ГИП
. . . . . . . . . . . . . . . . . . . . . . . . . . . 147 19.12 Различные реализации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 19.13 Функциональное программирование (для хорошо подготовленных читателей. . . . . . . . . . . . . . . . . . . . 148 19.14 Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
20 Приложение FLOSS
149
20.1 Free/Libre and Open Source Software (FLOSS)
. . . . . . . . . . . . . . . . . . . 149
21 Приложение о книге Колофон
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 21.2 Об авторе. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
22 Приложение История версий Приложение Инструкция по переводу
Обложка Укус Питона – «A Byte of Python» по-русски
Примечание: От автора перевода
Перед вами перевод популярной книги «A Byte of на русский язык.
Автор книги – Swaroop Автор русского перевода – Владимир Смоляр
2
Настоящий перевод основан на версии 2.0 оригинальной книги и имеет версию Свежую версию оригинала книги можно просмотреть здесь Byte of Python» – это свободная книга по программированию на языке Python. Она может служить учебным пособием или руководством по языку Python для начинающей аудитории. Если ваши знания о компьютере ограничиваются тем, как сохранять текстовые файлы, эта книга для вас.
Настоящая книга описывает язык Python 3, несмотря на то, что Python 2 всё ещё более распространён (более детально об этом см. раздел 2 против 3
).
1.2 Кто читает «A Byte of Вот что люди говорят о настоящей книге:
«Лучшее, что мне удалось найти – «A Byte of Python» – просто блестящая книга для начинающих. Она хорошо написана, основные понятия доступно объясняются на наглядных
примерах.»
– Syed Talal (19 лет)
1
Название книги «A Byte of Python» (дословно – Байт Питона) по-английски звучит также, как и «A
Bite of Python» – Укус Питона (прим.перев.)
2
Сообщения об ошибках и предложения по улучшению перевода просьба присылать на e-mail:
v_2e@ukr.net.
1

A Byte of Python (Russian), Версия Это лучший учебник для начинающих из всех, что я видел Спасибо вам за ваш труд Walt Michalik (Вы написали лучший учебник по Python из тех, что я встречал в Сети. Отличная работа.

Спасибо!»
– Joshua Robin (Превосходный вводный курс в программирование #Python для начинающих Shan Привет Я из Доминиканской Республики. Меня зовут Павел. Недавно я прочитал вашу книгу «A Byte of Python», и нахожу её замечательной :). Я многому научился на приведённых

примерах. Ваша книга – отличный помощник таким новичкам, как я Pavel Simo (Недавно я закончил читать «A Byte of Python» и подумал, что я обязательно должен поблагодарить вас. Было грустно дойти до последних страниц, так как это означало возвращение
к тупыми скучным руководствам O’Reilly или чего-то подобного для изучения Python. В любом случае я очень благодарен вам за вашу книгу Samuel Young (Уважаемый Swaroop, я прохожу курс, который ведёт преподаватель, совсем незаинтересованный в преподавании. Мы пользуемся книгой Изучаем Python», второе издание O’Reilly. Но
она совсем не для начинающих студентов, практически без каких-либо знаний о программировании, и преподавателя, который должен работать кем-нибудь другим. Огромное спасибо
вам за вашу книгу. Без неё я так бы никогда ничего и не поняло и программировании
вообще. Тысяча благодарностей Вы умеете разбить мысль на части до такого уровня,
чтобы начинающим было легко понять, а далеко не каждый на это способен Joseph Duarte (Я в восторге от вашей книги Это самый лучший учебник по Python, кроме того полезный
и как справочник. Просто блестяще Настоящий шедевр Так держать. Кто читает «A Byte of Python»?

2

A Byte of Python (Russian), Версия 2.02
– Chris-André Пишу вам, чтобы поблагодарить за написание и публикацию в сети «A Byte of Python». Я

предпринимал попытки изучить Python в течение нескольких месяцев, прежде чем наткнулся на вашу книгу. И хотя я достиг небольших успехов с pyGame, мне никак не удавалось закончить программу.
Благодаря вашему упрощению многих понятий, Python теперь кажется мне вполне достижимой целью. Кажется, теперь я наконец-то освоил основы и могу продолжать идти к своей
настоящей цели – разработке игр.

Ещё раз спасибо ОГРОМНОЕ за размещение такого структурированного и полезного путеводителя по основам программирования в Интернете. Он провёл меня через ООП, разъяснив
то, что не смогли разъяснить два учебника Matt Gallivan (Я бы хотел поблагодарить вас за вашу книгу «A byte of python», которая кажется мне самым лучшим средством для изучения Python. Мне 15 летя живу в Египте. Зовут меня Ах-
мед. Python – мой второй язык программирования. В школе я изучал Visual Basic 6, но мне
он не понравился, а изучать Python мне по-настоящему нравится. Мне удалось написать
программу Адресная книга. Теперь я буду больше программировать сами читать чужие
программы на Python (если вы подскажете мне подходящий их источник. Также я намерен
приступить к изучению Java, и если бы вы могли порекомендовать мне пособие по Java, столь
же хорошее, как ваше, это бы мне очень помогло. Спасибо Ahmed Mohammed (Замечательным источником для начинающих, желающих узнать больше о Python может
послужить пособие «A Byte of Python», написанное Swaroop C H в 110 страницах. Оно отлично написано, легко воспринимается и, возможно, это лучшее из существующих введение в
программирование на Python»
– Drew Ames в статье «Scripting Scribus», опубликованной на Вчера я прошёл почти весь «Byte of Python» на своём Nokia N800, ион показался мне наиболее
лёгким и лаконичным введением виз всех, что я встречал. Настоятельно рекомендую
его как отправную точку для изучающих Python.»
– Jason Delport в своём блоге

  1   2   3   4   5   6   7   8   9   ...   14

скачати

© Усі права захищені
написати до нас