Daniel Bader / Бейдер Д.О. - Python Tricks: The Book / Чистый Python [2018, PDF, RUS]

Статистика раздачи
Размер:  6.9 MB   |   Зарегистрирован:  1 месяц 22 дня   |   .torrent скачан:  1,600 раз
Сиды:  59   Личи:  3
Автор
Сообщение

gridl

Стаж: 9 лет

Сообщений: 176

flag

gridl · 02-Авг-18 23:22 (1 месяц 22 дня назад, ред. 02-Авг-18 23:31)

 

Python Tricks: The Book / Чистый Python
Год издания: 2018
Автор: Daniel Bader / Бейдер Д.О.
Жанр или тематика: Python
Издательство: ООО Издательство «Питер»
ISBN: 978-5-4461-0803-9
Язык: Русский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 288
Описание: Изучение всех возможностей Python — сложная задача, а с этой книгой вы сможете сосредоточиться на практических навыках, которые действительно важны. Раскопайте «скрытое золото» в стандартной библиотеке Python и начните писать чистый код уже сегодня.
Если у вас есть опыт работы со старыми версиями Python, вы сможете ускорить работу с современными шаблонами и функциями, представленными на Python 3.
Если вы работали с другими языками программирования и хотите перейти на Python, то найдете практические советы, необходимые для того, чтобы стать эффективным питонистом.
Если вы хотите научиться писать чистый код, то найдете здесь самые интересные примеры и малоизвестные трюки.
Примеры страниц
Оглавление
Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Комментарии переводчика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Базовый набор библиотек для разработчика . . . . . . . . . . . . . . . . . . . . . . .18
От издательства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Глава 1 . Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1 .1 . Что такое идиома Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1 .2 . Чем эта книга будет полезна . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1 .3 . Как читать эту книгу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1 .4 . Тонкости Python: цифровой комплект инструментов в качестве бонуса . . 24
Глава 2 . Шаблоны для чистого Python . . . . . . . . . . . . . . . . . 25
2 .1 . Прикрой свой з** инструкциями assert . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Инструкция assert в Python — пример . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
Почему просто не применить обычное исключение? . . . . . . . . . . . . . . . . . .27
Синтаксис инструкции Python assert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
Распространенные ловушки, связанные с использованием инструкции assert в Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
Предостережение № 1: не используйте инструкции assert для проверки данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
Предостережение № 2: инструкции assert, которые никогда не дают сбоя 32
Инструкции assert — резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
2 .2 . Беспечное размещение запятой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
2 .3 . Менеджеры контекста и инструкция with . . . . . . . . . . . . . . . . . . . . . . . . . 38
Поддержка инструкции with в собственных объектах . . . . . . . . . . . . . . . . .40
Написание красивых API с менеджерами контекста . . . . . . . . . . . . . . . . . .42
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
2 .4 . Подчеркивания, дандеры и другое . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1 . Одинарный начальный символ подчеркивания: _var . . . . . . . . . . . . . . . .45
2 . Одинарный замыкающий символ подчеркивания: var_ . . . . . . . . . . . . . .47
3 . Двойной начальный символ подчеркивания: __var . . . . . . . . . . . . . . . . .48
Экскурс: что такое дандеры? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
4 . Двойной начальный и замыкающий символ подчеркивания: __var__ . . .53
5 . Одинарный символ подчеркивания: _ . . . . . . . . . . . . . . . . . . . . . . . . . . .54
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
2 .5 . Шокирующая правда о форматировании строковых значений . . . . . . . . . 56
№ 1 . «Классическое» форматирование строковых значений . . . . . . . . . . . .57
№ 2 . «Современное» форматирование строковых значений . . . . . . . . . . . .58
№ 3 . Интерполяция литеральных строк (Python 3 .6+) . . . . . . . . . . . . . . . .60
№ 4 . Шаблонные строки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
Какой метод форматирования строк мне использовать? . . . . . . . . . . . . . . .63
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
2 .6 . Пасхалка «Дзен Python» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Дзен Python от Тима Питерса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
Глава 3 . Эффективные функции . . . . . . . . . . . . . . . . . . . . . . 66
3 .1 . Функции Python — это объекты первого класса . . . . . . . . . . . . . . . . . . . . 66
Функции — это объекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
Функции могут храниться в структурах данных . . . . . . . . . . . . . . . . . . . . . .68
Функции могут передаваться другим функциям . . . . . . . . . . . . . . . . . . . . .69
Функции могут быть вложенными . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
Функции могут захватывать локальное состояние . . . . . . . . . . . . . . . . . . . .72
Объекты могут вести себя как функции . . . . . . . . . . . . . . . . . . . . . . . . . . .74
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
3 .2 . Лямбды — это функции одного выражения . . . . . . . . . . . . . . . . . . . . . . . 75
Лямбды в вашем распоряжении . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
А может, не надо… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
3 .3 . Сила декораторов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Основы декораторов Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
Декораторы могут менять поведение . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
Короткая пауза . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
Применение многочисленных декораторов к функции . . . . . . . . . . . . . . . .86
Декорирование функций, принимающих аргументы . . . . . . . . . . . . . . . . . .88
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91
3 .4 . Веселье с *args и **kwargs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Переадресация необязательных или именованных аргументов . . . . . . . . . .93
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
3 .5 . Распаковка аргументов функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
3 .6 . Здесь нечего возвращать . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Глава 4 . Классы и ООП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4 .1 . Сравнения объектов: is против == . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4 .2 . Преобразование строк (каждому классу по __repr__) . . . . . . . . . . . . . . . 104
Метод __str__ против __repr__ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Почему каждый класс нуждается в __repr__ . . . . . . . . . . . . . . . . . . . . . . . 110
Отличия Python 2 .x: __unicode__ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4 .3 . Определение своих собственных классов-исключений . . . . . . . . . . . . . . 114
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4 .4 . Клонирование объектов для дела и веселья . . . . . . . . . . . . . . . . . . . . . . 118
Создание мелких копий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Создание глубоких копий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Копирование произвольных объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4 .5 . Абстрактные базовые классы держат наследование под контролем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4 .6 . Чем полезны именованные кортежи . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Именованные кортежи спешат на помощь . . . . . . . . . . . . . . . . . . . . . . . . 130
Создание производных от Namedtuple подклассов . . . . . . . . . . . . . . . . . . 133
Встроенные вспомогательные методы . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Когда использовать именованные кортежи . . . . . . . . . . . . . . . . . . . . . . . . 135
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
4 .7 . Переменные класса против переменных экземпляра: подводные камни . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Пример без собак . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4 .8 . Срыв покровов с методов экземпляра, методов класса и статических методов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Методы экземпляра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Методы класса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Статические методы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Посмотрим на них в действии! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Фабрики аппетитной пиццы с @classmethod . . . . . . . . . . . . . . . . . . . . . . . 147
Когда использовать статические методы . . . . . . . . . . . . . . . . . . . . . . . . . 149
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Глава 5 . Общие структуры данных Python . . . . . . . . . . . . . 153
5 .1 . Словари, ассоциативные массивы и хеш-таблицы . . . . . . . . . . . . . . . . . 155
dict — ваш дежурный словарь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
collections .OrderedDict — помнят порядок вставки ключей . . . . . . . . . . . . 157
collections .defaultdict — возвращает значения, заданные по умолчанию для отсутствующих ключей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
collections .ChainMap — производит поиск в многочисленных словарях как в одной таблице соответствия . . . . . . . . . . . . . . . . . . . . . . . . . 159
types .MappingProxyType — обертка для создания словарей только для чтения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Словари в Python: заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
5 .2 . Массивоподобные структуры данных . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
list — изменяемые динамические массивы . . . . . . . . . . . . . . . . . . . . . . . . 162
tuple — неизменяемые контейнеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
array .array — элементарные типизированные массивы . . . . . . . . . . . . . . . 164
str — неизменяемые массивы символов Юникода . . . . . . . . . . . . . . . . . . . 165
bytes — неизменяемые массивы одиночных байтов . . . . . . . . . . . . . . . . . 167
bytearray — изменяемые массивы одиночных байтов . . . . . . . . . . . . . . . . 168
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
5 .3 . Записи, структуры и объекты переноса данных . . . . . . . . . . . . . . . . . . . 170
dict — простые объекты данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
tuple — неизменяемые группы объектов . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Написание собственного класса — больше работы, больше контроля . . . . 174
collections .namedtuple — удобные объекты данных . . . . . . . . . . . . . . . . . . 175
typing .NamedTuple — усовершенствованные именованные кортежи . . . . . 177
struct .Struct — сериализованные С-структуры . . . . . . . . . . . . . . . . . . . . . . 178
types .SimpleNamespace — причудливый атрибутивный доступ . . . . . . . . . 179
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
5 .4 . Множества и мультимножества . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
set — ваше дежурное множество . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
frozenset — неизменяемые множества . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
collections .Counter — мультимножества . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
5 .5 . Стеки (с дисциплиной доступа LIFO) . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
list — простые встроенные стеки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
collections .deque — быстрые и надежные стеки . . . . . . . . . . . . . . . . . . . . . 187
deque .LifoQueue — семантика блокирования для параллельных вычислений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Сравнение реализаций стека в Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
5 .6 . Очереди (с дисциплиной доступа FIFO) . . . . . . . . . . . . . . . . . . . . . . . . . 190
list — ужасно меееедленная очередь . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
collections .deque — быстрые и надежные очереди . . . . . . . . . . . . . . . . . . 193
queue .Queue — семантика блокирования для параллельных вычислений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
multiprocessing .Queue — очереди совместных заданий . . . . . . . . . . . . . . . 195
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
5 .7 . Очереди с приоритетом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
list — поддержание сортируемой очереди вручную . . . . . . . . . . . . . . . . . 197
heapq — двоичные кучи на основе списка . . . . . . . . . . . . . . . . . . . . . . . . 198
queue .PriorityQueue — красивые очереди с приоритетом . . . . . . . . . . . . . . 199
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Глава 6 . Циклы и итерации . . . . . . . . . . . . . . . . . . . . . . . . . . 201
6 .1 . Написание питоновских циклов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6 .2 . Осмысление включений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
6 .3 . Нарезки списков и суши-оператор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
6 .4 . Красивые итераторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Бесконечное повторение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Как циклы for-in работают в Python? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Более простой класс-итератор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Кто же захочет без конца выполнять итерации . . . . . . . . . . . . . . . . . . . . 219
Совместимость с Python 2 .x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
6 .5 . Генераторы — это упрощенные итераторы . . . . . . . . . . . . . . . . . . . . . . . 224
Бесконечные генераторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Генераторы, которые прекращают генерацию . . . . . . . . . . . . . . . . . . . . . 227
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
6 .6 . Выражения-генераторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Выражения-генераторы против включений в список . . . . . . . . . . . . . . . . . 233
Фильтрация значений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Встраиваемые выражения-генераторы . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Слишком много хорошего… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
6 .7 . Цепочки итераторов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Глава 7 . Трюки со словарем . . . . . . . . . . . . . . . . . . . . . . . . . 242
7 .1 . Значения словаря, принимаемые по умолчанию . . . . . . . . . . . . . . . . . . . 242
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
7 .2 . Сортировка словарей для дела и веселья . . . . . . . . . . . . . . . . . . . . . . . . 245
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
7 .3 . Имитация инструкций выбора на основе словарей . . . . . . . . . . . . . . . . . 248
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
12 Оглавление
7 .4 . Самое сумасшедшее выражение-словарь на западе . . . . . . . . . . . . . . . . 253
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
7 .5 . Так много способов объединить словари . . . . . . . . . . . . . . . . . . . . . . . . 260
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
7 .6 . Структурная печать словаря . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Глава 8 . Питоновские методы
повышения производительности . . . . . . . . . . . . . . . . . . . 266
8 .1 . Исследование модулей и объектов Python . . . . . . . . . . . . . . . . . . . . . . . 266
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
8 .2 . Изоляция зависимостей проекта при помощи Virtualenv . . . . . . . . . . . . . 270
Виртуальные среды спешат на помощь . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
8 .3 . По ту сторону байткода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Ключевые выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Глава 9 . Итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
9 .1 . Бесплатные еженедельные советы для разработчиков на Python . . . . . . 281
9 .2 . PythonistaCafe: сообщество разработчиков на Python . . . . . . . . . . . . . . . 282
Доп. информация: Комментарии переводчика
Весь материал настоящей книги протестирован в среде Windows 10. При тестировании исходного кода за основу взят Python версии 3.6.4 (время перевода — апрель 2018 года).
Хотя в настоящей книге установка и применение сторонних библиотек практически не рассматривается, тем не менее в комментарии переводчика включена информация о базовом наборе инструментов, необходимых для дальнейшей работы. Эта информация ни к чему не обязывает, но служит прекрасной отправной точкой для всех, кто интересуется программированием на Python.
гитхаба нового нет - пользуйтесь оригинальным английским
http://SKYTRACKER.XYZ/viewtopic.php?t=5594457
Зарегистрирован:
  • 02-Авг-18 23:22
  • Скачан: 1,600 раз

Скачать .torrent

9 KB

Тип: обычная
Статус: ? недооформлено
Размер: 6.9 MB  ·  magnet87ACACE6F7AF52911A776B8DF1966D09BD1B4955
  • Свернуть поддиректории
  • Развернуть
  • Переключить
  • Увел./умен. окно
загружается...

Postoronnim_23

Стаж: 8 лет 4 месяца

Сообщений: 97

flag

Postoronnim_23 · 04-Авг-18 00:10 (спустя 1 день)

Спасибо!

GriffonRu

Стаж: 10 лет 11 месяцев

Сообщений: 10

flag

GriffonRu · 07-Авг-18 09:47 (спустя 3 дня)

Большое спасибо!

void main()

Moderator

Стаж: 9 лет 2 месяца

Сообщений: 7527

flag

void main() · 20-Сен-18 15:23 (спустя 1 месяц 13 дней)

gridl!
Пожалуйста:
1. Добавьте серию в заголовок и в описание раздачи
2. Переименуйте раздаваемый файл по модели
Цитата:
Автор - Название (Серия) - Год.расширение
и перезалейте торрент-файл. Для автора используйте инициал после фамилии
Хозяйке на заметку: раньше этот модератор носил имя hfr0001.
При дооформлении раздач обязательно отпишитесь в личную почту с указанием на url раздачи.

gridl

Стаж: 9 лет

Сообщений: 176

flag

gridl · 20-Сен-18 22:24 (спустя 7 часов)

void main() писал(а):
75992875gridl!
Пожалуйста:
1. Добавьте серию в заголовок и в описание раздачи
2. Переименуйте раздаваемый файл по модели
Цитата:
Автор - Название (Серия) - Год.расширение
и перезалейте торрент-файл. Для автора используйте инициал после фамилии
"серия" - это БИБЛИОТЕКА ПРОГРАММИСТА
или как ?
 
All rights reserved © 2017-2018
Loading...
Error