Justworks.ru

2Фев/110

Hello World на Python 2.x

Начинать программирование на новом языке принято с программы Hello World. Данную заметку стоит рассматривать как KickStart, какие-то детали могут быть упущены. Подробная и качественная документация приведена на http://docs.python.org. Заметка рассчитана на любой дистрибутив Linux. Для пользователей Windows может оказаться полезной заметка Настраиваем Python в Eclipse и пишем Hello World!.

Создаем в любом текстовом редакторе файл helloworld.py следующего содержимого:

#!/usr/bin/env python
 
if __name__ == '__main__':
    print 'Hello World!'

Открываем терминал. Устанавливаем права доступа на выполнение. Тем самым показываем системе, что это не просто текстовый файл, а исполняемый скрипт:

$ chmod a+x helloworld.py

Запускаем скрипт:

$ ./helloworld.py
Hello World!

Получилось? Поздравляю, первый полноценный скрипт на питоне вы написали.

Теперь разберем его построчно. Первая строка:

#!/usr/bin/env python

#! - это так называемый sha-bang, специальная последовательность символов, после которой записывается путь к интерпретатору, который будет выполнять скрипт. Таким образом система определяет, что данный текстовый файл (а скрипт на Python - это просто текстовый файл) нужно интерпретировать с помощью Python. Для скриптов на языке BASH это может быть, например, #!/bin/bash.

Вместо этого можно писать, например:

#!/usr/bin/python

или, если вы хотите указать конкретную версию интерпретатора:

#!/usr/local/bin/python2.7

В этом случае нужно убедится, что интерпретатор Python установлен по указанному пути.

Другой способ запустить скрипт:

$ python helloworld.py
Hello World!

В этом случае не требуется давать файлу helloworld.py права на исполнение.

Строка:

if __name__ == '__main__':

проверяет, что скрипт был запущен в интерпретаторе, а не загружен из другого скрипта. Здесь все просто - если скрипт был запущен в интерпретаторе, то переменной __name__ присваивается значение '__main__'. В скрипте мы сравниваем значение переменной стандартным оператором if. Никакой магии. Эта конструкция - аналог функции main в таких языках, как C/C++.

Оператор print 'Hello World!' выводит строку 'Hello World!' на экран. В языке Python блоки кода выделяются отступом из 4 пробелов. В данном случае оператор print выполняется, только если выражение после оператора if истинно.

Hello World можно написать и так:

#!/usr/bin/env python
 
print 'Hello World!'

Но тогда строка 'Hello World!' будет выводится и при подключении модуля из другого скрипта.

$ python
$ import helloworld
Hello World!

Теперь вы знаете как писать скрипты на питоне!