Книга на вашем родном языке 6 2 Переводы 7 1 Доступные переводы переводы 7 3 Предисловие 16
Скачать 0.72 Mb.
|
4.1. Особенности Python 21 A Byte of Python (Russian), Версия 2.02 Кроме стандартной библиотеки, существует множество других высококачественных биб- лиотек, которые можно найти в Каталоге пакетов Python Резюме Python – очень увлекательный и мощный язык. Он имеет хорошее соотноше- ние производительности и возможностей, что делает написание программ на нём одновременно интересным и лёгким. 4.2 Python 2 против 3 Если вас не интересует разница между Python 2 и Python 3, вы можете пропустить этот радел. Но в любом случае помните, какую версию вы используете. В 2008 году эта книга была переписана для Python 3. Это была одна из первых книг, по- свящённых Python 3. Однако, к сожалению, это привело к путанице среди пользователей, пытавшихся изучать Python 2 по версии книги для Python 3 и наоборот. Тем не менее, мир понемногу мигрирует на Python 3. Так что да, в этой книге вы будете учиться программировать на Python 3, даже если в ко- нечном счёте планируете использовать Python 2. Помните, что как только вы как следует усвоите и научитесь пользоваться любым из них, вы также сможете легко освоить разницу между ними и адаптироваться. Самое сложное заключается в обучении программированию и понятии основной части языка Python. Это и будет нашей целью в настоящей книге, а как только вы её достигнете, вы сможете запросто использовать Python 2 или Python 3 в зависимости от конкретной ситуации. Изучить разницу между Python 2 и Python 3 в деталях можно на странице Ubuntu wiki, посвящённой Python 3 4.3 Что говорят программисты Интересно, что такие великие хакеры, как Эрик Рэймонд, говорят о Python: 1. Эрик С. Рэймонд – автор работы «Собор и Базар», а также человек, который ввёл термин «Open Source». Он говорит, что Python стал его любимым языком програм- мирования . Эта статья и вдохновила меня на пробу пера в Python. 2. Брюс Экель – автор знаменитых книг «Думаем на Java» и «Думаем на С++». Он утверждает, что ни на одном языке программирования его работа не была столь эффективной, как на Python. Кроме того, он считает, что Python – это, пожалуй, единственный язык, стремящийся облегчить жизнь программисту. Подробнее мож- но прочитать в его полном интервью 4.2. Python 2 против 3 22 A Byte of Python (Russian), Версия 2.02 3. Питер Норвиг – широко известный автор Lisp, а также директор по качеству поис- ка в Google (спасибо Гвидо ван Россуму за это замечание). Он говорит, что Python всегда был неотъемлемой частью Google. Вы можете убедиться в этом, заглянув на страницу Google Jobs , на которой владение Python указано как требование для раз- работчиков программного обеспечения. 4.3. Что говорят программисты 23 Установка Если у вас уже установлен Python 2.x, нет необходимости его удалять для того, чтобы установить Python 3.0. Обе версии могут быть установлены в системе одновременно. 5.1 Установка в GNU/Linux и BSD Если вы используете один из дистрибутивов GNU/Linux, таких как Ubuntu, Fedora, OpenSUSE, Debian, CentOS или {ваш вариант}, или один из вариантов BSD, как например, FreeBSD, то скорее всего, в вашей системе уже установлен Python. Чтобы проверить, установлен ли Python на вашей машине с BSD или GNU/Linux, открой- те эмулятор терминала (например, konsole или gnome-terminal ) и введите команду python -V , как показано ниже. $ python -V Python 3.3.0 Примечание: $ – это приглашение командной строки. Оно может выглядеть по-разному в зависимости от настроек вашей ОС, поэтому я буду обозначать приглашение просто одним символом $ Если вы видите информацию о версии, как показано выше, значит Python у вас уже уста- новлен. Если же вы получаете такое сообщение: $ python -V bash: Python: command not found значит, Python у вас не установлен. Это маловероятно, но всё же возможно. Примечание: Если у вас уже установлен Python 3.x, попробуйте python3 -V. 24 A Byte of Python (Russian), Версия 2.02 В этом случае у вас будут два варианта установки Python: • Скомпилировать Python из исходных текстов и установить его. Инструкция по ком- пиляции есть на указанном веб-сайте. • Установить бинарные пакеты, используя пакетный менеджер, входящий в ком- плект поставки вашей ОС, как например, apt-get в Ubuntu/Debian и других дистри- бутивах, основанных на Debian, yum в Fedora, pkg_add во FreeBSD, и т.д. Обратите внимание, что для этого потребуется соединение с Интернетом. В противном слу- чае вы можете любым другим способом скопировать бинарники на свой компьютер и установить оттуда. 5.2 Установка в Windows Посетите страницу http://www.python.org/download/ и загрузите последнюю версию. Уста- новка производится так же, как и для любых других программ для Windows. Осторожно: Когда вам будет предложено отключить некоторые «опцио- нальные» компоненты, не отключайте ни одного! Некоторые из этих ком- понентов могут вам пригодиться, особенно IDLE. Интересно, что большую часть загрузок производят именно пользователи Windows. Ко- нечно, это не даёт представления о полной картине, поскольку у большинства пользова- телей GNU/Linux Python установлен в системе по умолчанию. 5.2.1 Командная строка DOS Для использования Python из командной строки Windows, т.е. приглашения DOS, необ- ходимо установить должным образом переменную PATH. Для Windows 2000, XP, 2003 , перейдите в «Панель управления» → «Система» → «До- полнительно» → «Переменные среды». Нажмите на переменной с именем PATH в отде- ле «Системные переменные», после этого выберите «Редактировать» и допишите ;C:\ Python33 к концу того, что там уже есть (проверьте, существует ли такой каталог, так как для более новых версий Python он будет иметь другое имя). Конечно, укажите действи- тельное имя каталога. Для более старых версий Windows добавьте следующую строку в файл C:\AUTOEXEC.BAT : „ PATH=%PATH%;C:\Python33 “ (без кавычек) и перезапустите систему. Для Windows NT используйте файл AUTOEXEC.NT Для Windows Vista: 1. Нажмите кнопку «Пуск» и выберите «Панель управления». 5.2. Установка в Windows 25 A Byte of Python (Russian), Версия 2.02 2. Нажмите «Система», справа вы увидите «Просмотр основных сведений о вашем компьютере». Слева – список действий, последним из которых будет «Дополни- тельные параметры системы.» Нажмите её. Отобразится вкладка «Дополнительно» диалога параметров системы. Нажмите кнопку «Переменные среды» справа внизу. 3. В нижнем поле под названием «Системные переменные» прокрутите до Path и нажмите кнопку «Редактировать». 4. Измените путь, как нужно. 5. Перезапустите систему. Vista не обновляет системные пути до перезагрузки. Для Windows 7: 1. Щёлкните правой кнопкой мыши на значке «Компьютер» на рабочем столе и вы- берите «Свойства»; иначе – нажмите кнопку «Пуск» и выберите «Панель Управле- ния» → «Система и безопасность» → «Система». Нажмите «Дополнительные пара- метры системы» слева, а затем выберите вкладку «Дополнительно». Внизу нажмите кнопку «Переменные среды» и в отделе «Системные переменные» найдите пере- менную PATH , выберите её и нажмите «Редактировать». 2. Перейдите к концу строки в поле «Значение переменной» и допишите ;C:\ Python33 3. Если значение переменной было %SystemRoot%\system32; , теперь оно примет вид %SystemRoot%\system32;C:\Python33 4. Нажмите «Ok», и всё. Перезагрузка не требуется. 5.2.2 Запуск командной строки Python в Windows Если вы должным образом установили значение переменной PATH , теперь можно запус- кать интерпретатор из командной строки. Чтобы открыть терминал в Windows, нажмите кнопку «Пуск» и выберите «Выполнить». В появившемся диалоговом окне наберите cmd и нажмите Enter Затем наберите python и проверьте, нет ли ошибок. 5.3 Для пользователей Mac OS X У пользователей Mac OS X Python уже будет установлен в системе. В противном случае вы можете открыть терминал, нажав Command+Пробел , набрав в открывшейся строке поиска Terminal и нажав Enter Затем установить Homebrew , выполнив: 5.3. Для пользователей Mac OS X 26 A Byte of Python (Russian), Версия 2.02 ruby - e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)" После чего установить Python 3 при помощи: brew install python3 А теперь запустите python3 -V и проверьте, нет ли ошибок. 5.4 Резюме У пользователей систем GNU/Linux и BSD, вероятнее всего, Python уже установлен. В про- тивном случае его можно установить, используя пакетный менеджер, поставляемый с вашим дистрибутивом. Для Windows установка Python сводится к загрузке установщика и двойному щелчку на нём. С этого момента мы будем считать, что Python 3 в вашей системе установлен. Далее мы приступим к написанию нашей первой программы на Python. 5.4. Резюме 27 Первые шаги Давайте посмотрим, как создать традиционную программу «Hello World» на Python. Это научит вас писать, сохранять и выполнять программы на Python. Существует два способа запуска программ на Python: использование интерактивного приглашения интерпретатора и использование файла с текстом программы. Сейчас мы увидим, как пользоваться обоими методами. 6.1 Использование командной строки интерпрета- тора Откройте окно терминала (как было описано в главе Установка ) и запустите интерпрета- тор Python, введя команду python3 и нажав Enter Пользователи Windows могут запустить интерпретатор в командной строке, если уста- новили переменную PATH надлежащим образом. Чтобы открыть командную строку в Windows, зайдите в меню «Пуск» и нажмите «Выполнить…». В появившемся диалого- вом окне введите «cmd» и нажмите Enter ; теперь у вас будет всё необходимое для начала работы с python в командной строке DOS. Если вы используете IDLE, нажмите «Пуск» → «Программы» → «Python 3.0» → «IDLE (Python GUI)». Как только вы запустили python3 , вы должны увидеть >>> в начале строки, где вы можете что-то набирать. Это и называется командной строкой интерпретатора Python. Теперь введите print('Hello World') и нажмите клавишу Enter . В результате должны появиться слова «Hello World». Вот пример того, что вы можете увидеть на экране, если будете использовать компьютер с Mac OS X. Информация о версии Python может отличаться в зависимости от компьютера, но часть, начинающаяся с приглашения (т.е. от >>> и далее) должна быть одинаковой на всех операционных системах. 28 A Byte of Python (Russian), Версия 2.02 $ python3 Python 3.3.0 (default, Oct 22 2012, 12:20:36) [GCC 4.2.1 Compatible Apple Clang 4.0 ((tags/Apple/clang-421.0.60))] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> print('hello world') hello world >>> Обратите внимание, что Python выдаёт результат работы строки немедленно! Вы только что ввели одиночный «оператор» Python. print используется для того, чтобы (что неуди- вительно 1 ) напечатать любое переданное в него значение. В данном случае мы передали в него текст «Hello World», который и был напечатан на экране. Совет: Как выйти из командной строки интерпретатора Если вы используете IDLE или оболочку GNU/Linux или BSD, вы можете выйти из команд- ной строки интерпретатора нажатием Ctrl-D или введя команду exit() (примечание: не забудьте написать скобки, «()»), а затем нажав клавишу Enter . Если вы используете командную строку Windows, нажмите Ctrl-Z , а затем нажмите клавишу Enter 6.2 Выбор редактора Поскольку мы не можем набирать программу в командной строке интерпретатора каж- дый раз, когда нам нужно что-то запустить, нам понадобится сохранять программы в файлах, чтобы потом иметь возможность запускать их сколько угодно раз. Прежде чем приступить к написанию программ на Python в файлах, нам нужен редактор для работы с файлами программ. Выбор редактора крайне важен. Подходить к выбору ре- дактора следует так же, как и к выбору личного автомобиля. Хороший редактор поможет вам легко писать программы на Python, делая ваше путешествие более комфортным, а также позволяя быстрее и безопаснее достичь вашей цели. Одно из самых основных требований – это подсветка синтаксиса, когда разные элементы программы на Python раскрашены так, чтобы вы могли легко видеть вашу программу и ход её выполнения. Если вы не знаете, с чего начать, я бы порекомендовал воспользоваться программой Komodo Edit , которая доступна для Windows, Mac OS X и GNU/Linux. Если вы пользуетесь Windows, Не используйте Блокнот – это плохой выбор, посколь- ку он не обладает функцией подсветки синтаксиса, а также не позволяет автоматически 1 «print» – англ. «Печатать» (прим. перев.) 6.2. Выбор редактора 29 A Byte of Python (Russian), Версия 2.02 вставлять отступы, что очень важно в нашем случае, как мы увидим позже. Хорошие ре- дакторы, как Komodo Edit, позволяют делать это автоматически. Опытные программисты, должно быть, уже используют Vim или Emacs . Не стоит даже и говорить, что это два наиболее мощных редактора, и вы только выиграете от их ис- пользования для написания программ на Python. Лично я пользуюсь ими обоими для большинства своих программ, и даже написал книгу о Vim . Я настоятельно рекомендую вам решиться и потратить время на изучение Vim или Emacs, поскольку это будет прино- сить вам пользу долгие годы. Однако, как я уже писал выше, новички могут пока просто остановиться на Komodo Edit и сосредоточиться на изучении Python, а не текстового ре- дактора. Я повторюсь ещё раз: обязательно выберите подходящий редактор – это сделает написа- ние программ на Python более простым и занимательным. Для пользователей Vim Существует хорошее введение в использование Vim как мощного IDE для Python, автор – John M Anderson . Также я рекомендую плагин jedi-vim и мой собственный конфигурационный файл Для пользователей Emacs Существует хорошее введение в использование Emacs как мощного IDE для Python, автор – Ryan McGuire . Также я рекомендую Конфигурацию dotemacs от BG 6.3 Использование программных файлов А теперь давайте вернёмся к программированию. Существует такая традиция, что какой бы язык программирования вы ни начинали учить, первой вашей программой должна быть программа «Привет, Мир!». Это программа, которая просто выводит надпись «При- вет, Мир!». Как сказал Simon Cozens 2 , это «традиционное заклинание богов программи- рования, которое поможет вам лучше изучить язык». Запустите выбранный вами редактор, введите следующую программу и сохраните её под именем helloworld.py Если вы пользуетесь Komodo Edit, нажмите «Файл» → «Новый» → «Новый файл», вве- дите строку: ( 'Привет, Мир!' ) В Komodo Edit нажмите «Файл» → «Сохранить» для сохранения файла. 2 Автор восхитительной книги «Beginning Perl» 6.3. Использование программных файлов 30 A Byte of Python (Russian), Версия 2.02 Куда сохранить файл? В любую папку, расположение которой вы знаете. Если вы не пони- маете, что это значит, то создайте новую папку и используйте её для всех ваших программ на Python: • C:\py в Windows • /tmp/py в GNU/Linux • /tmp/py в Mac OS X Чтобы создать папку, воспользуйтесь командой mkdir в терминале. Например, mkdir / tmp/py Важно: Не забывайте указывать расширение файла .py . Например, « file.py ». В Komodo Edit нажмите «Инструменты» → «Запуск команды», наберите python3 helloworld.py и нажмите «Выполнить». Вы должны увидеть вывод, показанный на скриншоте ниже. Но всё-таки лучше редактировать программу в Komodo Edit, а запускать в терминале: 1. Откройте терминал, как описано в главе Установка 2. Перейдите в каталог, в котором вы сохранили файл. Например, cd /tmp/py 3. Запустите программу, введя команду python3 helloworld.py Вывод программы показан ниже. $ python3 helloworld.py Привет, Мир! Если у вас получился такой же вывод, поздравляю! – вы успешно выполнили вашу первую программу на Python. Вы только что совершили самый сложный шаг в обучении программированию, заключающийся в написании своей первой программы! Если вы получите сообщение об ошибке, введите вышеуказанную программу в точно- сти так, как показано здесь, и запустите снова. Обратите внимание, что Python различает регистр букв, то есть print – это не то же самое, что (обратите внимание на букву p в нижнем регистре в первом случае и на букву P в верхнем регистре во втором). Также убедитесь, что перед первым символом в строке нет пробелов или символов табуляции – позже мы увидим, почему это важно. Как это работает Программа на Python состоит из выражений. В нашей первой программе име- ется всего лишь одно выражение. В этом выражении мы вызываем функцию print , которая просто выводит текст 'Привет, Мир!' . О функциях мы узна- ем в одной из последующих глав , а пока вам достаточно понять, что всё, что вы 6.3. Использование программных файлов 31 A Byte of Python (Russian), Версия 2.02 укажете в скобках, будет выведено на экран. В данном примере мы указали 'Привет, Мир!' 6.3.1 Исполнимые программы на Python Это касается только пользователей GNU/Linux и Unix, но пользователям Windows тоже будет полезно об этом знать. Каждый раз, когда нам нужно запустить программу на Python, нам приходится в явном виде запускать python3 foo.py . Но почему бы нам не запускать её точно так же, как и все другие программы? Этого можно достичь при помощи так называемого hashbang. Добавьте строку, указанную ниже, в самое начало вашей программы: 6.3. Использование программных файлов 32 A Byte of Python (Russian), Версия 2.02 #!/usr/bin/env python3 Теперь ваша программа должна выглядеть так: #!/usr/bin/env python3 ( 'Привет, Мир!' ) Теперь необходимо установить программе атрибут исполнимости, используя команду chmod, а затем выполнить программу. Команда chmod здесь используется для изменения режима файла 3 добавлением атрибута исполнимости для всех пользователей в системе 4 $ chmod a+x helloworld.py После этого мы можем запускать программу напрямую, потому что наша операционная система запустит /usr/bin/env , который, в свою очередь, найдёт Python 3, а значит, смо- жет запустить наш файл. $ ./helloworld.py Привет, Мир! Здесь « ./ » обозначает, что программа находится в текущем каталоге. Ради интереса можете даже переименовать файл в просто « helloworld » и запустить его как ./helloworld , и это также сработает, поскольку система знает, что запускать про- грамму нужно интерпретатором, положение которого указано в первой строке файла про- граммы. Но до сих пор мы могли выполнять свою программу только если знали полный путь к ней. А что, если нам нужно запускать эту программу из любого каталога? Это можно организовать, расположив свою программу в одном из каталогов, перечисленных в пере- менной окружения PATH При попытке запуска какой-либо программы система ищет её в каталогах, перечислен- ных в переменной окружения PATH , и запускает. Таким образом, мы можем сделать про- грамму доступной из любого места, скопировав её в один из каталогов, перечисленных в PATH $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin $ cp helloworld.py /home/swaroop/bin/helloworld $ helloworld Привет, Мир! 3 |