Синтаксис Python

Python ([ˈpaɪθən]; па́йсон, па́йтон, пито́н) — высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Синтаксис ядра Питона минималистичен.

# - символ, используется для комментирования одиночных строк.

(), \ - разбиение длинных логических строк на физические. Явно - с помощью обратной косой черты или неявно - внутри скобок.

'', "", ''' '''

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

\ - задает управляющие последовательности внутри строковых литералов:

In [1]: print "stroka1\nnext stroka2"
------> print("stroka1\nnext stroka2")
stroka1
next stroka2

Правильная начало файла ниже. Не должно быть пустых строк перед coding

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
~$ python
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Ctrl+D - выход

$ ipython
/var/lib/python-support/python2.6/IPython/Magic.py:38: DeprecationWarning: the sets module is deprecated
  from sets import Set
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
Type "copyright", "credits" or "license" for more information.

IPython 0.9.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object'. ?object also works, ?? prints more.

Ctrl+D - выход

  • вывод ключевых слов Python. Их нельзя использовать в качестве имен переменных, функций или других объектов.
In [1]: import keyword
In [2]: print keyword.kwlist
------> print(keyword.kwlist)
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec',
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print',
'raise', 'return', 'try', 'while', 'with', 'yield']

Начиная с Python 2.3, для использования в тексте программы символов, не входящих в ASCII, необходимо явно указывать кодировку исходного кода в начале модуля, например:

# -*- coding: utf-8 -*-

После этого можно, например, использовать кириллицу в Unicode-литералах.

Вывод полного перечня кодировок и их псевдонимов:

In [3]: import encodings
In [5]: print encodings.aliases.aliases
------> print(encodings.aliases.aliases)
{'iso_ir_6': 'ascii', '1140': 'cp1140', 'tis620': 'tis_620', 'iso8859': 'latin_1', 'chinese': 'gb2312',
...
'iso_ir_148': 'iso8859_9', 'utf_32be': 'utf_32_be', 'ebcdic_cp_ca': 'cp037', 'tis_620_0': 'tis_620'}

Обработка исключений поддерживается в Python посредством операторов try, except, else, finally, raise, образующих блок обработки исключения. В общем случае блок выглядит следующим образом:

try:

  #здесь код, который может вызвать исключение
  raise ExceptionType("message")

except (Тип исключения1, Тип исключения2, …), Переменная:

  #Код в блоке выполняется, если тип исключения совпадает с одним из типов
  #(Тип исключения1, Тип исключения2, …) или является наследником одного
  #из этих типов.
  #Полученное исключение доступно в необязательной Переменной.

except (Тип исключения3, Тип исключения4, …), Переменная:

  #количество блоков except не ограниченно
  raise #Сгенерировать исключение "поверх" полученного

except:

  #Будет выполнено при любом исключении, не обработанном типизированными блоками except

else:

  #Код блока выполняется, если не было поймано исключений.

finally:

  #будет исполненно в любом случае, возможно после соответствующего
  #блока except или else

Совместное использование else, except и finally стало возможно только начиная в Python 2.5. Информация о текущем исключении всегда доступна через sys.exc_info(). Кроме значения исключения Python также сохраняет состояние стека вплоть до точки возбуждения исключения — так называемый traceback.

В отличие от компилируемых языков программирования, в Python использование исключения не приводит к значительным накладным расходам (а зачастую даже позволяют ускорить исполнение программ) и очень широко используется. Исключения согласуются с философией Python (10-й пункт «Дзена» Python — «Ошибки никогда не должны умалчиваться») и являются одним из средств поддержки «утиной типизации».

Иногда вместо явной обработки исключений удобнее использовать блок with (доступен, начиная с Python 2.5).

Инструкция for в языке Python немного отличается от того, что используется в таких языках, как C и Pascal. Вместо того, чтобы всегда перебирать числа арифметической прогрессии (как в Pascal) или предоставлять пользователю полную свободу выбора итератора и условий выхода из цикла (как в C), инструкция for в языке Python перебирает элементы произвольной последовательности в порядке их следования. Вот общая схема инструкции:

for lvalue in sequence:

suite1

[else:

suite2]

Расшифруем:

1) сначала выполняется обязательная ветвь for;

2) sequence представляет собой последовательность элементов, будь то строка, список или кортеж, вычисляется он один раз, и изменять его не рекомендуется;

3) in означает, что переменная lvalue перебирает все элементы последовательности sequence;

4) после того как ветвь for выполнится (элементы в последовательности закончатся), происходит переход к необязательной ветви else (как обычно, он может отсутствовать);

От сухих формулировок перейдем к примеру:

list = [‘I ’, ‘love ’, ‘you!’]
for text in list:

… print text,

I love you!

Инструкция while предназначена для создания циклов. Циклы необходимы для многократного выполнения тех или иных действий и выглядят так:

while expr:

suite1

[else:

suite2]

Расшифруем:

1) цикл должен состоять минимум из одной ветви while;

2) в этой ветви проверяется истинность условия expr, и, если оно истинно, то выполняется тело ветви - suite1, по завершении которого вновь проверяется условие, и т.д., пока условие не станет ложным;

3) если условие expr станет ложным, то осуществляется переход к ветви else с телом suite2, после выполнения которого происходит выход из цикла;

4) ветвь else является необязательным (может отсутствовать), в этом случае, когда условие expr перестанет быть истинным, сразу происходит выход из цикла.

Рассмотрим пример, выводящий ряд Фибоначчи:

a,b = 0,1
while b < 10:

… print b,

… a,b = b, a + b

1 1 2 3 5 8

Python и условные операторы Цикл while

Здесь, цикл while выполняется, пока истинно условие b<10.

Рассмотрим пример с веткой else:

number = 1
while number != 5:

… print number,

… number += 1

…else:

… print ‘number =’, number

1 2 3 4 number = 5

На этот раз, после того как условие перестало быть истинным (number = 5), выполняется else, где и выводится последнее значение переменной number.

Для удобной работы с циклами Python предлагает инструкции break и continue.

break, находящийся внутри ветви while, указывает немедленно выйти из цикла. При этом пропускается ветвь else (если она присутствует):

number = 1
while number != 5:

… print number,

… number += 1

… if number == 4:

… break

…else:

… print ‘number =’, number

1 2 3

Как видно, еще до того, как переменная number стала равной 5, удовлетворяется условие number = 4 и выполняется выход из цикла по команде break, при этом ветвь else была проигнорирована.

continue, также находящийся внутри цикла, указывает, что надо пропустить весь нижеследующий за ним код и продолжить выполнение цикла заново:

number = 1
while number < 5:

… number = +1

… if number ⇐ 2:

… continue

… print number,

…else:

… print ‘number =’, number

3 4 5 number = 5

На этот раз цикл каждый раз увеличивает переменную number на единицу, но не может вывести значение до цифры 3, так как в этом случае выполняется условие number⇐ 3 и благодаря continue пропускается нижеследующий код для вывода – инструкция print number. В случае, когда переменная number больше 3, воздействие инструкции continue не наблюдается, поэтому значение number и выводится. Также — на ветви else выполнение инструкции continue никак не влияет.

Отмечу, цикл while 1 будет выполняться вечно (может, где и применимо), а while 0 не будет выполнен ни разу. Теперь подробно об условиях, применяющихся в if и while.

Заключение или дополнительные ссылки по языку Python

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

PQ VPS сервера в 28+ странах.