Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Какой 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 вам подходит?» Любой, который работает на вашем компьютере.

Читайте далее инструкции по установке на Windows или перейдите к установке на Mac OS X, на Ubuntu Linux или на другие платформы.




Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 548 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Жизнь - это то, что с тобой происходит, пока ты строишь планы. © Джон Леннон
==> читать все изречения...

2323 - | 2092 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.