Python - базовый синтаксис
Язык 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 "help", "copyright", "credits" or "license" for more information.
>>>
Введите следующий текст в командной строке Python и нажмите Enter -
>>> print "Hello, Python!"
Если вы используете новую версию Python, вам нужно будет использовать оператор печати со скобками, как в print ("Hello, Python!");. Однако в версии Python 2.4.3 это дает следующий результат:
Hello, Python!
Программирование в режиме сценария
Вызов интерпретатора с параметром сценария начинает выполнение сценария и продолжается, пока сценарий не будет завершен. Когда сценарий завершен, интерпретатор больше не активен.
Давайте напишем простую программу Python в скрипте. Файлы Python имеют расширение.py. Введите следующий исходный код в файл test.py -
print "Hello, Python!"
Мы предполагаем, что у вас установлен интерпретатор Python в переменной PATH. Теперь попробуйте запустить эту программу следующим образом -
$ python test.py
Это дает следующий результат -
Hello, Python!
Давайте попробуем другой способ выполнить скрипт Python. Вот модифицированный файл test.py -
#!/usr/bin/python
print "Hello, Python!"
Мы предполагаем, что у вас есть интерпретатор Python в каталоге / usr / bin. Теперь попробуйте запустить эту программу следующим образом -
$ chmod +x test.py # This is to make file executable
$./test.py
Это дает следующий результат -
Hello, Python!
Идентификаторы Python
Идентификатор Python - это имя, используемое для идентификации переменной, функции, класса, модуля или другого объекта. Идентификатор начинается с буквы от A до Z, от a до z или символа подчеркивания (_), за которым следует ноль или более букв, подчеркиваний и цифр (от 0 до 9).
Python не допускает символов пунктуации, таких как @, $ и%, в идентификаторах. Python - это язык программирования с учетом регистра. Таким образом,Manpower и manpower - это два разных идентификатора в Python.
Вот соглашения об именах для идентификаторов Python -
Имена классов начинаются с заглавной буквы. Все остальные идентификаторы начинаются со строчной буквы.
Если идентификатор начинается с одного символа подчеркивания в начале, это означает, что идентификатор является частным.
Идентификатор, начинающийся с двух знаков подчеркивания в начале, указывает на строго конфиденциальный идентификатор.
Если идентификатор также заканчивается двумя завершающими символами подчеркивания, идентификатор является определенным языком специальным именем.
Зарезервированные слова
В следующем списке показаны ключевые слова Python. Это зарезервированные слова, и вы не можете использовать их в качестве имен констант, переменных или любых других идентификаторов. Все ключевые слова Python содержат только строчные буквы.
и | exec | не |
утверждать | Ну наконец то | или же |
сломать | за | проходить |
класс | из | Распечатать |
Продолжить | Глобальный | поднять |
def | если | возвращение |
дель | импорт | пытаться |
Элиф | в | в то время как |
еще | является | с участием |
Кроме | лямбда | Уступать |
Линии и отступы
Python не предоставляет фигурных скобок для обозначения блоков кода для определений классов и функций или управления потоком. Блоки кода обозначаются строковым отступом, который строго соблюдается.
Количество пробелов в отступе может меняться, но все операторы в блоке должны иметь одинаковый отступ. Например -
if True:
print "True"
else:
print "False"
Однако следующий блок генерирует ошибку -
if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"
Таким образом, в Python все непрерывные строки с одинаковым количеством пробелов образуют блок. В следующем примере есть различные блоки операторов -
Note- Не пытайтесь понять логику на данном этапе. Просто убедитесь, что вы поняли различные блоки, даже если они без скобок.
#!/usr/bin/python
import sys
try:
# open file stream
file = open(file_name, "w")
except IOError:
print "There was an error writing to", file_name
sys.exit()
print "Enter '", file_finish,
print "' When finished"
while file_text != file_finish:
file_text = raw_input("Enter text: ")
if file_text == file_finish:
# close the file
file.close
break
file.write(file_text)
file.write("\n")
file.close()
file_name = raw_input("Enter filename: ")
if len(file_name) == 0:
print "Next time please enter something"
sys.exit()
try:
file = open(file_name, "r")
except IOError:
print "There was an error reading file"
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 игнорирует их.
#!/usr/bin/python
# First comment
print "Hello, Python!" # second comment
Это дает следующий результат -
Hello, Python!
Вы можете ввести комментарий в той же строке после оператора или выражения -
name = "Madisetti" # This is again comment
Вы можете прокомментировать несколько строк следующим образом -
# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.
Следующая строка в тройных кавычках также игнорируется интерпретатором Python и может использоваться как многострочный комментарий:
'''
This is a multiline
comment.
'''
Использование пустых строк
Строка, содержащая только пробелы, возможно, с комментарием, называется пустой строкой, и Python полностью ее игнорирует.
В сеансе интерактивного интерпретатора вы должны ввести пустую физическую строку для завершения многострочного оператора.
Жду пользователя
В следующей строке программы отображается запрос, в котором говорится: «Нажмите клавишу ввода, чтобы выйти», и ожидается, что пользователь предпримет действия -
#!/usr/bin/python
raw_input("\n\nPress the enter key to exit.")
Здесь "\ n \ n" используется для создания двух новых строк перед отображением фактической строки. Как только пользователь нажимает клавишу, программа завершается. Это хороший трюк, позволяющий держать окно консоли открытым до тех пор, пока пользователь не закончит работу с приложением.
Несколько операторов в одной строке
Точка с запятой (;) позволяет использовать несколько операторов в одной строке, если ни одна из них не запускает новый блок кода. Вот пример фрагмента с точкой с запятой -
import sys; x = 'foo'; sys.stdout.write(x + '\n')
Несколько групп утверждений как наборы
Группа отдельных операторов, составляющих единый блок кода, называется suitesв 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.