Учебники

Python 3 — основной синтаксис

Язык Python имеет много общего с Perl, C и Java. Однако между языками есть определенные различия.

Первая программа на Python

Выполним программы в разных режимах программирования.

Программирование в интерактивном режиме

Вызов интерпретатора без передачи файла сценария в качестве параметра вызывает следующее приглашение:

$ python

Python 3.3.2 (default, Dec 10 2013, 11:35:01)
[GCC 4.6.3] on Linux
Type "help", "copyright", "credits", or "license" for more information.
>>>

On Windows:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>

Введите следующий текст в приглашении Python и нажмите Enter —

>>> print ("Hello, Python!")

Если вы используете старую версию Python (Python 2.x), использование скобок в качестве функции inprint необязательно. Это дает следующий результат —

Hello, Python!

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

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

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

Live Demo

print ("Hello, Python!")

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

В линуксе

$ python test.py 

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

 Привет, Питон!

На винде

C:\Python34>Python test.py

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

 Привет, Питон!

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

Live Demo

#!/usr/bin/python3
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/python3

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 = 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/python3

# 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/python3

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. ]

Вы также можете запрограммировать свой скрипт таким образом, чтобы он принимал различные параметры. Аргументы командной строки — сложная тема. Дайте нам понять это.