Синтаксис Python во многом похож на Perl, C и Java. Однако между языками есть определенные различия.
Первая программа на Python
Давайте выполним программы в разных режимах программирования.
Программирование в интерактивном режиме
Вызов интерпретатора без передачи файла сценария в качестве параметра вызывает следующую подсказку:
$ python
Python 2.4.3 (#1, Nov 11 2010, 13:34:43)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "помощь", "авторское право", "кредиты" or "лицензия" for more information.
>>>
Введите следующий текст в командной строке Python и нажмите Enter:
>>> print "Привет, Python!"
Если вы используете новую версию Python, вам нужно будет использовать оператор печати со скобками, как print ("Привет, Python!"); Однако в версии Python 2.4.3 это дает следующий результат:
Привет, Python!
Программирование в режиме написания сценариев
Вызов интерпретатора с параметром написания сценариев начинает выполнение сценария и продолжается, пока сценарий не будет завершен. Когда сценарий завершен, интерпретатор больше не активен.
Давайте создадим простую программу Python в сценарии. Файлы Python имеют расширение .py. Введите следующий исходный код в файл test.py:
print "Привет, Python!"
Это дает следующий результат:
Привет, Python!
Давайте попробуем другой способ выполнить скрипт Python. Вот модифицированный файл test.py:
#!/usr/bin/python
print "Привет, Python!"
Предполагается, что у вас есть интерпретатор Python в каталоге /usr/bin. Теперь попробуйте запустить эту программу следующим образом:
$ chmod +x test.py # Это сделает файл исполняемым
$./test.py
Это дает следующий результат:
Привет, Python!
Идентификаторы Python
Идентификатор Python – это имя, используемое для идентификации переменной, функции, класса, модуля или другого объекта. Идентификатор Python начинается с буквы от A до Z, от a до z или символа подчеркивания (_), за которым следуют ноль или более букв, символов подчеркивания и цифр (от 0 до 9).
Python не допускает символов пунктуации, таких как @, $ и%, в идентификаторах. Python – это язык программирования с учетом регистра, таким образом, Manpower и manpower – это два разных идентификатора в Python.
Далее приведены соглашения по присвоению имен для идентификаторов Python:
- Имена классов начинаются с заглавной буквы. Все остальные идентификаторы начинаются со строчной буквы.
- Начало идентификатора с одного символа подчеркивания в начале указывает на то, что идентификатор является частным.
- Начало идентификатора с двумя символами подчеркивания указывает на строго частный идентификатор.
- Если идентификатор также заканчивается двумя символами подчеркивания, идентификатор является специальным именем, определяемым стандартом языка программирования.
Зарезервированные слова
В следующем списке показаны ключевые слова Python. Это зарезервированные слова, и вы не можете использовать их для имен констант, переменных или любых других идентификаторов. Все ключевые слова Python содержат только строчные буквы.
Ключевые слова | ||
and | exec | not |
assert | finally | or |
break | for | pass |
class | from | |
continue | global | raise |
def | if | return |
del | import | try |
elif | in | while |
else | is | with |
except | lambda | yield |
Линии и отступы в Python
Python не требует фигурных скобок для обозначения блоков кода для определений классов и функций или управления потоком. Блоки кода обозначаются строковым отступом, который строго соблюдается.
Количество пробелов в отступе может меняться, но все операторы в блоке должны иметь одинаковый отступ Python. Например:
if True:
print "Истина"
else:
print "Ложь"
Однако следующий блок генерирует ошибку:
if True:
print "Ответ"
print "Истина"
else:
print "Ответ"
print "Ложь"
Таким образом, в Python все непрерывные строки с одинаковым количеством пробелов образуют блок. В следующем примере есть различные блоки операторов.
Примечание: не пытайтесь понять логику на данном этапе. Просто убедитесь, что вы различаете блоки, даже если они не имеют скобок.
#!/usr/bin/python
import sys
try:
# open file stream
file = open(file_name, "w")
except IOError:
print "Возникла ошибка при записи", file_name
sys.exit()
print "Ввод '", file_finish,
print "' При окончании"
while file_text != file_finish:
file_text = raw_input("Введите текст: ")
if file_text == file_finish:
# close the file
file.close
break
file.write(file_text)
file.write("\n")
file.close()
file_name = raw_input("Введите название файла: ")
if len(file_name) == 0:
print "Пожалуйста, в следующий раз введите какие-либо данные"
sys.exit()
try:
file = open(file_name, "r")
except IOError:
print "При чтении файла возникла ошибка"
sys.exit()
file_text = file.read()
file.close()
print file_text
Многострочные операторы
Операторы в Python обычно заканчиваются новой строкой. Однако Python позволяет использовать символ продолжения строки (\) для обозначения продолжения строки. Например:
total = item_one + \
item_two + \
item_three
Для операторов, заключенных в квадратные скобки [], {} или (), не нужно использовать символ продолжения строки. Например:
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
Цитирование в Python
Python принимает одинарные ('), двойные (") и тройные (''' или""") кавычки для обозначения строковых литералов до тех пор, пока один и тот же тип кавычек начинается и заканчивается в строке.
Тройные кавычки используются для разделения строки на несколько строк. Например, все следующие строки являются корректными:
word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""
Комментарии в Python
Знак решетки (#), который не находится внутри строкового литерала, начинает комментарий. Все символы после # и до конца физической строки являются частью комментария, и интерпретатор Python игнорирует их. Рассмотрим, как в Pythonе делать комментарии.
#!/usr/bin/python
# Первый комментарий
print "Привет, Python!" # второй комментарий
Это дает следующий результат:
Привет, Python!
Это однострочный комментарий. Вы можете ввести комментарий в той же строке после оператора или выражения:
name = "Madisetti" # Это снова комментарий
Вы можете прокомментировать несколько строк следующим образом:
# Это комментарий.
# Это тоже комментарий.
# Это тоже комментарий.
# Я уже сказал это.
Следующая строка в тройных кавычках также игнорируется интерпретатором и может использоваться как многострочный комментарий Python:
'''
Это многострочный
комментарий.
'''
Использование пустых строк в Python
Строка, содержащая только пробелы, возможно с комментарием, называется пустой строкой, и Python полностью ее игнорирует.
В сеансе интерактивного интерпретатора вы должны ввести пустую физическую строку для завершения многострочного оператора.
Ожидание пользователя
В следующей строке программы отображается запрос, в котором говорится: «Нажмите клавишу ввода, чтобы выйти», и ожидается, что пользователь предпримет действия:
#!/usr/bin/python
raw_input("\n\nНажмите клавишу ввода, чтобы выйти.")
Здесь "\n\n" используется для создания двух новых строк перед отображением фактической строки. Как только пользователь нажимает клавишу, программа завершается. Это хороший способ, позволяющий держать окно консоли открытым до тех пор, пока пользователь не закончит работу с приложением.
Несколько операторов в одной строке
Точка с запятой (;) позволяет размещать несколько операторов в одной строке, если ни одна из них не запускает новый блок кода. Вот пример фрагмента кода с точкой с запятой:
import sys; x = 'нечто'; sys.stdout.write(x + '\n')
Несколько групп операторов в виде наборов
Группа отдельных операторов, составляющих один блок кода, в Python называется набором. Для составных или сложных операторов, таких как if, while, def и class, требуется строка заголовка и набор.
Строки заголовка начинаются с оператора (с ключевого слова) и заканчиваются двоеточием (:), за которыми следуют одна или несколько строк, составляющих набор. Например:
if expression :
suite
elif expression :
suite
else :
suite
Аргументы командной строки
Многие программы могут быть запущены, чтобы предоставить вам некоторую базовую информацию о том, как их следует запускать. Python позволяет сделать это с помощью -h:
$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d : debug output from parser (also PYTHONDEBUG=x)
-E : ignore environment variables (such as PYTHONPATH)
-h : print this help message and exit
[ etc. ]
Вы также можете запрограммировать свой сценарий таким образом, чтобы он принимал различные параметры. Аргументы командной строки – это сложная тема, и ее следует изучить чуть позже, когда вы ознакомитесь с остальными концепциями Python, чтобы создать первую программу на Pythonе для начинающих.
Оглавление
- 1. Python – Самоучитель для начинающих
- 2. Python – Обзор
- 3. Python – Установка среды
- 4. Python – Базовый синтаксис
- 4.1. Python – Аргументы командной строки
- 5. Python – Типы переменных
- 6. Python – Основные операторы
- 6.1. Python – Арифметические операторы
- 6.2. Python – Операторы сравнения
- 6.3. Python – Операторы присваивания: примеры
- 6.4. Python – Побитовые операторы
- 6.5. Python – Логические операторы
- 6.6. Python – Операторы членства
- 6.7. Python – Операторы идентификации
- 6.8. Python – Приоритет операторов
- 7. Python – Условные операторы
- 7.1. Python – Условие if
- 7.2. Python – Условные операторы if...else и elif
- 7.3. Python – Вложенные операторы if
- 8. Python – Циклы
- 8.1. Python – Цикл while
- 8.2. Python – Цикл for
- 8.3. Python – Вложенные циклы
- 8.4. Python – Оператор break
- 8.5. Python – Оператор continue
- 8.6. Python – Оператор pass
- 9. Python – Числа
- 9.1. Python – Метод abs()
- 9.2. Python – Метод ceil()
- 9.3. Python – Метод cmp()
- 9.4. Python – Метод exp()
- 9.5. Python – Метод fabs()
- 9.6. Python – Метод floor()
- 9.7. Python – Метод log()
- 9.8. Python – Метод log10()
- 9.9. Python – Метод max()
- 9.10. Python – Метод min()
- 9.11. Python – Метод modf()
- 9.12. Python – Метод pow()
- 9.13. Python – Метод round()
- 9.14. Python – Метод sqrt()
- 9.15. Python – Метод choice()
- 9.16. Python – Метод randrange()
- 9.17. Python – Метод random()
- 9.18. Python – Метод seed()
- 9.19. Python – Метод shuffle()
- 9.20. Python – Метод uniform()
- 9.21. Python – Метод acos()
- 9.22. Python – Метод asin()
- 9.23. Python – Метод atan()
- 9.24. Python – Метод atan2()
- 9.25. Python – Метод cos()
- 9.26. Python – Метод hypot()
- 9.27. Python – Метод sin()
- 9.28. Python – Метод tan()
- 9.29. Python – Метод degrees()
- 9.30. Python – Метод radians()