Какой python вам подходит?

      Комментарии к записи Какой python вам подходит? отключены

Погружение в Python 3

  1. Что нового в «Погружении в Python 3»
  2. Установка Python
  3. Ваша первая программа на Python
  4. Встроенные типы данных
  5. Генераторы
  6. Строки
  7. Регулярные выражения
  8. Замыкания и генераторы
  9. Классы и итераторы
  10. Подробнее об итераторах
  11. Тестирование
  12. Рефакторинг
  13. Файлы
  14. XML
  15. Сериализация объектов Python
  16. HTTP и веб-сервисы
  17. Пример: перенос chardet на Python 3
  18. Создание пакетов библиотек
  19. Перенос кода на Python 3 с помощью 2to3
  20. Особые названия методов
  21. Куда пойти
  22. Устранение проблем
  23. О книге
  24. О переводе
  25. Выходные данные

Автор: Марк Пилигрим (Mark Piligrim)

Перевод: Инициативная группа

Источник оригинала: ru.wikisource.org

Лицензия: данный материал распространяется по лицензии GNU FDL.

Что нового в «Погружении в Python 3»

Isn’t this where we came in?
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). Кстати, о строках…

Строки… Ох… С чего бы начать?… В Python 2 были строки (str) и юникодные строки (unicode). В Python 3 — байты (bytes) и строки (string). То есть все строки стали теперь юникодными, а когда хотите работать с кучей байтов, вы используете новый тип bytes. Python 3 никогда автоматически не преобразовывает строки в байты или наоборот, поэтому, если вы не уверены, что из них вы имеете в какой-то определённый момент, ваш код почти наверняка поломается. В главе о строках эта ситуация разбирается подробнее.

Байты и строки ещё не раз будут появляться в книге.

  • В главе «Файлы» вы узнаете разницу между чтением файлов в «двоичном» и «текстовом» режимах. Чтение (и запись!) файлов в текстовом режиме требует указание параметра encoding (кодировка). Одни файловые методы при работе с текстовыми файлами подсчитывают символы, другие считают байты. Если в вашей программе предполагается, что один символ == одному байту, она будет падать на многобайтовых символах.
  • В главе «HTTP и веб-сервисы» модуль httplib2 принимает заголовки и данные по HTTP. Заголовки HTTP возвращаются как строки, а тело ответа HTTP возвращается в виде байтов.
  • В главе «Сериализация объектов Python» вы узнаете, почему модуль pickle в Python 3 определяет новый формат данных, несовместимый с Python 2. (Подсказка: это из-за различий между байтами и строками.) Ещё есть JSON, который вовсе не поддерживает тип bytes. Я покажу вам, как справиться с этим ограничением.
  • Глава «Пример: перенос chardet на Python 3» — просто кровавое месиво из байтов и строк.

Даже если вы не задумываетесь о Юникоде (рано или поздно всё равно придётся), вы захотите прочитать о форматировании строк в Python 3, оно совершенно отличается от такового в Python 2.

Итераторы в Python 3 везде, и сейчас я разбираюсь в них намного лучше, чем пять лет назад, когда я писал «Погружение в Python». Вам тоже необходимо разбираться в них, потому что множество функций, которые в Python 2 возвращали списки, теперь в Python 3 возвращают итераторы. Как минимум, следует прочитать вторую половину главы «Итераторы» и вторую половину главы «Подробнее об итераторах».

По многочисленным просьбам я добавил приложение «Особые названия методов», которое немного похоже на главу «Модель данных» документации по Python, только с приколами.

Когда я писал «Погружение в Python», все доступные на тот момент библиотеки для работы с XML были жутким отстоем. Впоследствии Фредрик Лунд (Fredrik Lundh) написал ElementTree, которая уже совсем не отстой. Питоновские боги, показав свою мудрость, внедрили ElementTree в стандартную библиотеку, и теперь она составляет основу моей новой главы про XML. Старые способы разбора XML всё ещё доступны, но их надо избегать, потому что они отстойные!

Ещё из нового в Python — не в языке, а в сообществе — появление репозиториев вроде The Python Package Index (PyPI). К Python прилагаются утилиты для пакетирования вашего кода в стандартных форматах и дальнейшего его распространения через PyPI. Подробнее в главе «Пакетирование библиотек Python».

Установка Python

Tempora mutantur nos et mutamur in illis. ~ Меняются времена, и мы меняемся вместе с ними.
древнеримская поговорка

Погружение

Добро пожаловать в Python 3. В этой главе вы установите Python 3, ту его версию, которая подходит именно вам.

Какой Python вам подходит?

Первое, что вам необходимо проделать с Python, — установить его. Или это уже сделано?

Если вы собираетесь работать с Python на удалённом сервере, ваш хостинг-провайдер, возможно, уже установил Python 3. Если у вас домашний компьютер с Linux, Python 3 тоже может быть уже установлен. В большинстве популярных дистрибутивах GNU/Linux по умолчанию установлен Python 2, немногие (но их число растёт) также включают Python 3. Mac OS X включает консольную версию Python 2, но до сих пор не включает Python 3. В Microsoft Windows не входит никакая версия Python. Но не отчаивайтесь! Python можно установить в несколько кликов, независимо от вашей операционной системы.

Простейший способ проверить, установлен ли Python 3 в вашем Linux или Mac OS X, — это открыть командную строку. В Linux поищите программу «Терминал» («Terminal») в меню приложений («Applications»). Она может находиться в подменю «Стандартные» («Accessories») или «Системные утилиты» («System»). В Mac OS X в папке /Application/Utilities/ должно быть приложение «Terminal.app».

Получив приглашение командной строки, просто введите python3 (строчными буквами, без пробелов) и посмотрите, что произойдёт. На моей домашней Linux-системе Python 3 уже установлен, и эта команда запускает интерактивную оболочку Python.

mark@atlantis:~$ python3Python 3.0.1+ (r301:69556, Apr 15 2009, 17:25:52)[GCC 4.3.3] on linux2Type help, copyright, credits or license for more information.

(Чтобы выйти из интерактивной оболочки Python, введите exit() и нажмите ? Enter .)

Мой хостинг-провайдер тоже предоставляет Linux с доступом к командной строке, но Python 3 на сервере не установлен. (Фу!)

mark@manganese:~$ python3bash: python3: command not found

Итак, вернёмся к вопросу, с которого начался этот раздел: «Какой Python вам подходит?» Любой, который работает на вашем компьютере.

Статьи к прочтению:

FIZ PIZZA FIT PRA CASA DA BREAKMEN 🍕 !! (SERÁ QUE APROVARAM??)


Похожие статьи: