Синтаксис Python
Python ([ˈpaɪθən]; па́йсон, па́йтон, пито́н) — высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Синтаксис ядра Питона минималистичен.
- Профилирование и оптимизация кода Python (Pychecker)
- Python GUI
- Фреймворк Twisted - событийно -ориентированный сетевой фреймворк.
- Scapy - одновременно интерактивная программа и библиотека манипулирования сетевыми пакетами.
Комментарий
# - символ, используется для комментирования одиночных строк.
(), \ - разбиение длинных логических строк на физические. Явно - с помощью обратной косой черты или неявно - внутри скобок.
'', "", ''' '''
- задание строковых литералов, можно использовать любые перечисленные кавычки, при условии, что символы открытия и закрытия соответствуют друг другу. Если строка содержит переводы строки или вложенные кавычки - используйте тройные кавычки.
\ - задает управляющие последовательности внутри строковых литералов:
In [1]: print "stroka1\nnext stroka2" ------> print("stroka1\nnext stroka2") stroka1 next stroka2
Кодировка файла
Правильная начало файла ниже. Не должно быть пустых строк перед coding
#!/usr/bin/env python # -*- coding: utf-8 -*- #
Команды интерпретатора Python, IPython
Запуск интерпретатора Python или IPython
Команды интерпретатора
Директивы
Начиная с 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
Инструкция 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 предназначена для создания циклов. Циклы необходимы для многократного выполнения тех или иных действий и выглядят так:
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
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах