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