Учебники

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 с круглыми скобками, как в print («Hello, Python!»); , Однако в Python версии 2.4.3 это дает следующий результат —

Hello, Python!

Script Mode Программирование

Вызов интерпретатора с параметром сценария начинает выполнение сценария и продолжается до завершения сценария. Когда сценарий завершен, интерпретатор больше не активен.

Давайте напишем простую программу на Python в сценарии. Файлы Python имеют расширение .py . Введите следующий исходный код в файл test.py —

Live Demo

print "Hello, Python!"

Мы предполагаем, что у вас установлен интерпретатор Python в переменной PATH. Теперь попробуйте запустить эту программу следующим образом:

$ python test.py

Это дает следующий результат —

Hello, Python!

Давайте попробуем другой способ выполнить скрипт Python. Вот модифицированный файл test.py —

Live Demo

#!/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 является регистрозависимым языком программирования. Таким образом, рабочая сила и рабочая сила — это два разных идентификатора в Python.

Вот соглашения об именах для идентификаторов Python —

  • Имена классов начинаются с заглавной буквы. Все остальные идентификаторы начинаются со строчной буквы.

  • Начало идентификатора с единственным начальным подчеркиванием означает, что идентификатор является частным.

  • Начало идентификатора с двумя ведущими подчеркиваниями указывает на строго частный идентификатор.

  • Если идентификатор также заканчивается двумя завершающими подчеркиваниями, этот идентификатор является специальным именем, определяемым языком.

Имена классов начинаются с заглавной буквы. Все остальные идентификаторы начинаются со строчной буквы.

Начало идентификатора с единственным начальным подчеркиванием означает, что идентификатор является частным.

Начало идентификатора с двумя ведущими подчеркиваниями указывает на строго частный идентификатор.

Если идентификатор также заканчивается двумя завершающими подчеркиваниями, этот идентификатор является специальным именем, определяемым языком.

Зарезервированные слова

В следующем списке показаны ключевые слова Python. Это зарезервированные слова, и вы не можете использовать их как имена констант, переменных или любых других идентификаторов. Все ключевые слова Python содержат только строчные буквы.

а также Exec не
утверждать в конце концов или же
перерыв за проходить
учебный класс от Распечатать
Продолжить Глобальный повышение
Защита если вернуть
дель Импортировать пытаться
Элиф в в то время как
еще является с
Кроме лямбда Уступать

Линии и отступы

Python не содержит фигурных скобок для обозначения блоков кода для определений классов и функций или управления потоком. Блоки кода обозначены отступом строки, который строго соблюдается.

Число пробелов в отступе является переменным, но все операторы в блоке должны иметь одинаковый отступ. Например —

if True:
   print "True"
else:
   print "False"

Однако следующий блок генерирует ошибку —

if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"

Таким образом, в Python все непрерывные линии с одинаковым количеством пробелов образуют блок. В следующем примере есть различные блоки операторов:

Примечание. Не пытайтесь понять логику в данный момент. Просто убедитесь, что вы поняли различные блоки, даже если они без скобок.

#!/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 их игнорирует.

Live Demo

#!/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')

Несколько групп утверждений как наборы

Группа отдельных операторов, которые составляют один блок кода, называются наборами в 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.