Читать онлайн «Test Driven Development: By Example»

Автор Kent Beck

Погружение в Python 3 1. Что нового в «Погружении в Python 3» 2. Установка Python 3. Ваша первая программа на Python 4. Встроенные типы данных 5. Генераторы 6. Строки 7. Регулярные выражения 8. Замыкания и генераторы 9. Классы и итераторы 10. Подробнее об итераторах 11. Тестирование 12. Рефакторинг 13. Файлы 14. XML 15. Сериализация объектов Python 16. Пример: перенос chardet на Python 3 18. Создание пакетов библиотек 19. Перенос кода на Python 3 с помощью 2to3 20. Особые названия методов 21. Куда пойти 22. Устранение проблем 23. О книге 24. О переводе 25. Pink Floyd, The Wall или «минус первый уровень» Вы прочитали «Погружение в Python» и, может быть, даже купили бумажную версию. (Спасибо!) Вы уже неплохо знаете Python 2.
Вы готовы окунуться с головой в Python 3… Если всё это про вас, читайте дальше. (Если что-либо из этого неверно, вам следует начать с начала. ) Вместе с Python 3 поставляется скрипт под названием 2to3. Изучите его. Полюбите его. Используйте его. «Перенос кода на Python 3 с помощью 2to3» — справочник по всем тем изменениям, которые 2to3 может проделать автоматически. Поскольку многое из этого — изменения в синтаксисе, лучше всего начать именно с них. (print теперь функция, `x` не работает и т. д. ) «Пример: перенос chardet на Python 3» рассказывает о моей (в конце концов, успешной) попытке перенести одну нетривиальную библиотеку с Python 2 на Python 3. Это может вам помочь. А может и не помочь. Кривая обучения получается довольно крутой из-за того, что вам сначала необходимо хоть немного разобраться в этой библиотеке, чтобы понимать, что именно в ней поломалось и как я это исправил. Часто программы ломаются на строках (strings). Кстати, о строках… 3 Строки… Ох… С чего бы начать?… В Python 2 были строки (str) и юникодные строки (unicode). В Python 3 — байты (bytes) и строки (string). То есть все строки стали теперь юникодными, а когда хотите работать с кучей байтов, вы используете новый тип bytes. Python 3 никогда автоматически не преобразовывает строки в байты или наоборот, поэтому, если вы не уверены, что из них вы имеете в какой-то определённый момент, ваш код почти наверняка поломается. В главе о строках эта ситуация разбирается подробнее. Байты и строки ещё не раз будут появляться в книге.  В главе «Файлы» вы узнаете разницу между чтением файлов в «двоичном» и «текстовом» режимах. Чтение (и запись!) файлов в текстовом режиме требует указание параметра encoding (кодировка). Одни файловые методы при работе с текстовыми файлами подсчитывают символы, другие считают байты.