3. An Informal Introduction to Python¶
In the following examples, input and output are distinguished by the presence or absence of prompts ( >>> and … ): to repeat the example, you must type everything after the prompt, when the prompt appears; lines that do not begin with a prompt are output from the interpreter. Note that a secondary prompt on a line by itself in an example means you must type a blank line; this is used to end a multi-line command.
You can toggle the display of prompts and output by clicking on >>> in the upper-right corner of an example box. If you hide the prompts and output for an example, then you can easily copy and paste the input lines into your interpreter.
Many of the examples in this manual, even those entered at the interactive prompt, include comments. Comments in Python start with the hash character, # , and extend to the end of the physical line. A comment may appear at the start of a line or following whitespace or code, but not within a string literal. A hash character within a string literal is just a hash character. Since comments are to clarify code and are not interpreted by Python, they may be omitted when typing in examples.
3.1. Using Python as a Calculator¶
Let’s try some simple Python commands. Start the interpreter and wait for the primary prompt, >>> . (It shouldn’t take long.)
3.1.1. Numbers¶
The interpreter acts as a simple calculator: you can type an expression at it and it will write the value. Expression syntax is straightforward: the operators + , — , * and / work just like in most other languages (for example, Pascal or C); parentheses ( () ) can be used for grouping. For example:
The integer numbers (e.g. 2 , 4 , 20 ) have type int , the ones with a fractional part (e.g. 5.0 , 1.6 ) have type float . We will see more about numeric types later in the tutorial.
Division ( / ) always returns a float. To do floor division and get an integer result you can use the // operator; to calculate the remainder you can use % :
With Python, it is possible to use the ** operator to calculate powers 1:
The equal sign ( = ) is used to assign a value to a variable. Afterwards, no result is displayed before the next interactive prompt:
If a variable is not “defined” (assigned a value), trying to use it will give you an error:
There is full support for floating point; operators with mixed type operands convert the integer operand to floating point:
In interactive mode, the last printed expression is assigned to the variable _ . This means that when you are using Python as a desk calculator, it is somewhat easier to continue calculations, for example:
This variable should be treated as read-only by the user. Don’t explicitly assign a value to it — you would create an independent local variable with the same name masking the built-in variable with its magic behavior.
In addition to int and float , Python supports other types of numbers, such as Decimal and Fraction . Python also has built-in support for complex numbers , and uses the j or J suffix to indicate the imaginary part (e.g. 3+5j ).
3.1.2. Strings¶
Besides numbers, Python can also manipulate strings, which can be expressed in several ways. They can be enclosed in single quotes ( ‘. ‘ ) or double quotes ( ". " ) with the same result 2. \ can be used to escape quotes:
In the interactive interpreter, the output string is enclosed in quotes and special characters are escaped with backslashes. While this might sometimes look different from the input (the enclosing quotes could change), the two strings are equivalent. The string is enclosed in double quotes if the string contains a single quote and no double quotes, otherwise it is enclosed in single quotes. The print() function produces a more readable output, by omitting the enclosing quotes and by printing escaped and special characters:
If you don’t want characters prefaced by \ to be interpreted as special characters, you can use raw strings by adding an r before the first quote:
There is one subtle aspect to raw strings: a raw string may not end in an odd number of \ characters; see the FAQ entry for more information and workarounds.
String literals can span multiple lines. One way is using triple-quotes: """. """ or »’. »’ . End of lines are automatically included in the string, but it’s possible to prevent this by adding a \ at the end of the line. The following example:
produces the following output (note that the initial newline is not included):
Strings can be concatenated (glued together) with the + operator, and repeated with * :
Two or more string literals (i.e. the ones enclosed between quotes) next to each other are automatically concatenated.
This feature is particularly useful when you want to break long strings:
This only works with two literals though, not with variables or expressions:
If you want to concatenate variables or a variable and a literal, use + :
Strings can be indexed (subscripted), with the first character having index 0. There is no separate character type; a character is simply a string of size one:
Indices may also be negative numbers, to start counting from the right:
Note that since -0 is the same as 0, negative indices start from -1.
In addition to indexing, slicing is also supported. While indexing is used to obtain individual characters, slicing allows you to obtain substring:
Slice indices have useful defaults; an omitted first index defaults to zero, an omitted second index defaults to the size of the string being sliced.
Note how the start is always included, and the end always excluded. This makes sure that s[:i] + s[i:] is always equal to s :
One way to remember how slices work is to think of the indices as pointing between characters, with the left edge of the first character numbered 0. Then the right edge of the last character of a string of n characters has index n, for example:
The first row of numbers gives the position of the indices 0…6 in the string; the second row gives the corresponding negative indices. The slice from i to j consists of all characters between the edges labeled i and j, respectively.
For non-negative indices, the length of a slice is the difference of the indices, if both are within bounds. For example, the length of word[1:3] is 2.
Attempting to use an index that is too large will result in an error:
However, out of range slice indexes are handled gracefully when used for slicing:
Python strings cannot be changed — they are immutable . Therefore, assigning to an indexed position in the string results in an error:
If you need a different string, you should create a new one:
The built-in function len() returns the length of a string:
Strings are examples of sequence types, and support the common operations supported by such types.
Strings support a large number of methods for basic transformations and searching.
String literals that have embedded expressions.
Information about string formatting with str.format() .
The old formatting operations invoked when strings are the left operand of the % operator are described in more detail here.
3.1.3. Lists¶
Python knows a number of compound data types, used to group together other values. The most versatile is the list, which can be written as a list of comma-separated values (items) between square brackets. Lists might contain items of different types, but usually the items all have the same type.
Like strings (and all other built-in sequence types), lists can be indexed and sliced:
All slice operations return a new list containing the requested elements. This means that the following slice returns a shallow copy of the list:
Lists also support operations like concatenation:
Unlike strings, which are immutable , lists are a mutable type, i.e. it is possible to change their content:
You can also add new items at the end of the list, by using the append() method (we will see more about methods later):
Assignment to slices is also possible, and this can even change the size of the list or clear it entirely:
The built-in function len() also applies to lists:
It is possible to nest lists (create lists containing other lists), for example:
3.2. First Steps Towards Programming¶
Of course, we can use Python for more complicated tasks than adding two and two together. For instance, we can write an initial sub-sequence of the Fibonacci series as follows:
This example introduces several new features.
The first line contains a multiple assignment: the variables a and b simultaneously get the new values 0 and 1. On the last line this is used again, demonstrating that the expressions on the right-hand side are all evaluated first before any of the assignments take place. The right-hand side expressions are evaluated from the left to the right.
The while loop executes as long as the condition (here: a < 10 ) remains true. In Python, like in C, any non-zero integer value is true; zero is false. The condition may also be a string or list value, in fact any sequence; anything with a non-zero length is true, empty sequences are false. The test used in the example is a simple comparison. The standard comparison operators are written the same as in C: < (less than), > (greater than), == (equal to), <= (less than or equal to), >= (greater than or equal to) and != (not equal to).
The body of the loop is indented: indentation is Python’s way of grouping statements. At the interactive prompt, you have to type a tab or space(s) for each indented line. In practice you will prepare more complicated input for Python with a text editor; all decent text editors have an auto-indent facility. When a compound statement is entered interactively, it must be followed by a blank line to indicate completion (since the parser cannot guess when you have typed the last line). Note that each line within a basic block must be indented by the same amount.
The print() function writes the value of the argument(s) it is given. It differs from just writing the expression you want to write (as we did earlier in the calculator examples) in the way it handles multiple arguments, floating point quantities, and strings. Strings are printed without quotes, and a space is inserted between items, so you can format things nicely, like this:
The keyword argument end can be used to avoid the newline after the output, or end the output with a different string:
Since ** has higher precedence than — , -3**2 will be interpreted as -(3**2) and thus result in -9 . To avoid this and get 9 , you can use (-3)**2 .
Unlike other languages, special characters such as \n have the same meaning with both single ( ‘. ‘ ) and double ( ". " ) quotes. The only difference between the two is that within single quotes you don’t need to escape " (but you have to escape \’ ) and vice versa.
Основы языка программирования Python за 10 минут
На сайте Poromenos’ Stuff была
опубликована статья, в которой, в сжатой форме,
рассказывают об основах языка Python. Я предлагаю вам перевод этой статьи. Перевод не дословный. Я постарался подробнее объяснить некоторые моменты, которые могут быть непонятны.
Если вы собрались изучать язык Python, но не можете найти подходящего руководства, то эта
статья вам очень пригодится! За короткое время, вы сможете познакомиться с
основами языка Python. Хотя эта статья часто опирается
на то, что вы уже имеете опыт программирования, но, я надеюсь, даже новичкам
этот материал будет полезен. Внимательно прочитайте каждый параграф. В связи с
сжатостью материала, некоторые темы рассмотрены поверхностно, но содержат весь
необходимый метриал.
Основные свойства
Python не требует явного объявления переменных, является регистро-зависим (переменная var не эквивалентна переменной Var или VAR — это три разные переменные) объектно-ориентированным языком.
Синтаксис
Во первых стоит отметить интересную особенность Python. Он не содержит операторных скобок (begin..end в pascal или <..>в Си), вместо этого блоки выделяются отступами: пробелами или табуляцией, а вход в блок из операторов осуществляется двоеточием. Однострочные комментарии начинаются со знака фунта «#», многострочные — начинаются и заканчиваются тремя двойными кавычками «»»»».
Чтобы присвоить значение пременной используется знак «=», а для сравнения —
«==». Для увеличения значения переменной, или добавления к строке используется оператор «+=», а для уменьшения — «-=». Все эти операции могут взаимодействовать с большинством типов, в том числе со строками. Например
Структуры данных
Python содержит такие структуры данных как списки (lists), кортежи (tuples) и словари (dictionaries). Списки — похожи на одномерные массивы (но вы можете использовать Список включающий списки — многомерный массив), кортежи — неизменяемые списки, словари — тоже списки, но индексы могут быть любого типа, а не только числовыми. «Массивы» в Python могут содержать данные любого типа, то есть в одном массиве может могут находиться числовые, строковые и другие типы данных. Массивы начинаются с индекса 0, а последний элемент можно получить по индексу -1 Вы можете присваивать переменным функции и использовать их соответственно.
Вы можете использовать часть массива, задавая первый и последний индекс через двоеточие «:». В таком случае вы получите часть массива, от первого индекса до второго не включительно. Если не указан первый элемент, то отсчет начинается с начала массива, а если не указан последний — то масив считывается до последнего элемента. Отрицательные значения определяют положение элемента с конца. Например:
Строки
Строки в Python обособляются кавычками двойными «»» или одинарными «’». Внутри двойных ковычек могут присутствовать одинарные или наоборот. К примеру строка «Он сказал ‘привет’!» будет выведена на экран как «Он сказал ‘привет’!». Если нужно использовать строку из несколько строчек, то эту строку надо начинать и заканчивать тремя двойными кавычками «»»»». Вы можете подставить в шаблон строки элементы из кортежа или словаря. Знак процента «%» между строкой и кортежем, заменяет в строке символы «%s» на элемент кортежа. Словари позволяют вставлять в строку элемент под заданным индексом. Для этого надо использовать в строке конструкцию «%(индекс)s». В этом случае вместо «%(индекс)s» будет подставлено значение словаря под заданным индексом.
>>>print «Name: %s\nNumber: %s\nString: %s» % (myclass.name, 3 , 3 * «-» )
Name: Poromenos
Number: 3
String: —
strString = «»«Этот текст расположен
на нескольких строках»»»
Операторы
Операторы while, if, for составляют операторы перемещения. Здесь нет аналога оператора select, так что придется обходиться if. В операторе for происходит сравнение переменной и списка. Чтобы получить список цифр до числа <number> — используйте функцию range(<number>). Вот пример использования операторов
rangelist = range ( 10 ) #Получаем список из десяти цифр (от 0 до 9)
>>> print rangelist
[ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
for number in rangelist: #Пока переменная number (которая каждый раз увеличивается на единицу) входит в список…
# Проверяем входит ли переменная
# numbers в кортеж чисел ( 3 , 4 , 7 , 9 )
if number in ( 3 , 4 , 7 , 9 ): #Если переменная number входит в кортеж (3, 4, 7, 9).
# Операция «break» обеспечивает
# выход из цикла в любой момент
break
else :
# «continue» осуществляет «прокрутку»
# цикла. Здесь это не требуется, так как после этой операции
# в любом случае программа переходит опять к обработке цикла
continue
else :
# «else» указывать необязательно. Условие выполняется
# если цикл не был прерван при помощи «break».
pass # Ничего не делать
if rangelist[ 1 ] == 2 :
print «The second item (lists are 0-based) is 2»
elif rangelist[ 1 ] == 3 :
print «The second item (lists are 0-based) is 3»
else :
print «Dunno»
while rangelist[ 1 ] == 1 :
pass
Функции
Для объявления функции служит ключевое слово «def». Аргументы функции задаются в скобках после названия функции. Можно задавать необязательные аргументы, присваивая им значение по умолчанию. Функции могут возвращать кортежи, в таком случае надо писать возвращаемые значения через запятую. Ключевое слово «lambda» служит для объявления элементарных функций .
# arg2 и arg3 — необязательые аргументы, принимают значение объявленное по умолчни,
# если не задать им другое значение при вызове функци.
def myfunction(arg1, arg2 = 100 , arg3 = «test» ):
return arg3, arg2, arg1
#Функция вызывается со значением первого аргумента — «Argument 1», второго — по умолчанию, и третьего — «Named argument» .
>>>ret1, ret2, ret3 = myfunction( «Argument 1» , arg3 = «Named argument» )
# ret1, ret2 и ret3 принимают значения «Named argument», 100, «Argument 1» соответственно
>>> print ret1, ret2, ret3
Named argument 100 Argument 1
# Следующая запись эквивалентна def f(x): return x + 1
functionvar = lambda x: x + 1
>>> print functionvar( 1 )
2
Классы
Язык Python ограничен в множественном наследовании в классах. Внутренние переменные и внутренние методы классов начинаются с двух знаков нижнего подчеркивания «__» (например «__myprivatevar»). Мы можем также присвоить значение переменной класса извне. Пример:
class Myclass:
common = 10
def __init__( self ):
self .myvariable = 3
def myfunction( self , arg1, arg2):
return self .myvariable
# Здесь мы объявили класс Myclass. Функция __init__ вызывается автоматически при инициализации классов.
>>> classinstance = Myclass() # Мы инициализировали класс и переменная myvariable приобрела значение 3 как заявлено в методе инициализации
>>> classinstance.myfunction( 1 , 2 ) #Метод myfunction класса Myclass возвращает значение переменной myvariable
3
# Переменная common объявлена во всех классах
>>> classinstance2 = Myclass()
>>> classinstance.common
10
>>> classinstance2.common
10
# Поэтому, если мы изменим ее значение в классе Myclass изменятся
# и ее значения в объектах, инициализированных классом Myclass
>>> Myclass.common = 30
>>> classinstance.common
30
>>> classinstance2.common
30
# А здесь мы не изменяем переменную класса. Вместо этого
# мы объявляем оную в объекте и присваиваем ей новое значение
>>> classinstance.common = 10
>>> classinstance.common
10
>>> classinstance2.common
30
>>> Myclass.common = 50
# Теперь изменение переменной класса не коснется
# переменных объектов этого класса
>>> classinstance.common
10
>>> classinstance2.common
50
# Следующий класс является наследником класса Myclass
# наследуя его свойства и методы, ктому же класс может
# наследоваться из нескольких классов, в этом случае запись
# такая: class Otherclass(Myclass1, Myclass2, MyclassN)
class Otherclass(Myclass):
def __init__( self , arg1):
self .myvariable = 3
print arg1
>>> classinstance = Otherclass( «hello» )
hello
>>> classinstance.myfunction( 1 , 2 )
3
# Этот класс не имеет совйтсва test, но мы можем
# объявить такую переменную для объекта. Причем
# tэта переменная будет членом только classinstance.
>>> classinstance.test = 10
>>> classinstance.test
10
Исключения
Исключения в Python имеют структуру try—except [exceptionname]:
def somefunction():
try :
# Деление на ноль вызывает ошибку
10 / 0
except ZeroDivisionError :
# Но программа не «Выполняет недопустимую операцию»
# А обрабатывает блок исключения соответствующий ошибке «ZeroDivisionError»
print «Oops, invalid.»
Импорт
Внешние библиотеки можно подключить процедурой «import [libname]», где [libname] — название подключаемой библиотеки. Вы так же можете использовать команду «from [libname] import [funcname]», чтобы вы могли использовать функцию [funcname] из библиотеки [libname]
import random #Импортируем библиотеку «random»
from time import clock #И заодно функцию «clock» из библиотеки «time»
randomint = random .randint( 1 , 100 )
>>> print randomint
64
Работа с файловой системой
Python имеет много встроенных библиотек. В этом примере мы попробуем сохранить в бинарном файле структуру списка, прочитать ее и сохраним строку в текстовом файле. Для преобразования структуры данных мы будем использовать стандартную библиотеку «pickle»
import pickle
mylist = [ «This» , «is» , 4 , 13327 ]
# Откроем файл C:\binary.dat для записи. Символ «r»
# предотвращает замену специальных сиволов (таких как \n, \t, \b и др.).
myfile = file (r «C:\binary.dat» , «w» )
pickle .dump(mylist, myfile)
myfile.close()
myfile = file (r «C:\text.txt» , «w» )
myfile.write( «This is a sample string» )
myfile.close()
myfile = file (r «C:\text.txt» )
>>> print myfile.read()
‘This is a sample string’
myfile.close()
# Открываем файл для чтения
myfile = file (r «C:\binary.dat» )
loadedlist = pickle .load(myfile)
myfile.close()
>>> print loadedlist
[ ‘This’ , ‘is’ , 4 , 13327 ]
Особенности
- Условия могут комбинироваться. 1 < a < 3 выполняется тогда, когда а больше 1, но меньше 3.
- Используйте операцию «del» чтобы очищать переменные или элементы массива.
- Python предлагает большие возможности для работы со списками. Вы можете использовать операторы объявлении структуры списка. Оператор for позволяет задавать элементы списка в определенной последовательности, а if — позволяет выбирать элементы по условию.
- Глобальные переменные объявляются вне функций и могут быть прочитанны без каких либо объявлений. Но если вам необходимо изменить значение глобальной переменной из функции, то вам необходимо объявить ее в начале функции ключевым словом «global», если вы этого не сделаете, то Python объявит переменную, доступную только для этой функции.
def myfunc():
# Выводит 5
print number
def anotherfunc():
# Это вызывает исключение, поскольку глобальная апеременная
# не была вызванна из функции. Python в этом случае создает
# одноименную переменную внутри этой функции и доступную
# только для операторов этой функции.
print number
number = 3
def yetanotherfunc():
global number
# И только из этой функции значение переменной изменяется.
number = 3
Эпилог
Разумеется в этой статье не описываются все возможности Python. Я надеюсь что эта статья поможет вам, если вы захотите и в дальнейшем изучать этот язык программирования.
Синтаксис Python для начинающих. Базовые примеры синтаксиса
Python — высокоуровневый язык программирования, который пользуется большим спросом. Он ориентирован на повышение производительности разработчика и читаемости кода. Несмотря на минималистичный синтаксис, Python позволяет решать множество современных задач и поддерживает несколько парадигм программирования. При этом популярность языка постоянно растёт, а последнее время он регулярно попадает в ТОП-5 рейтинга TIOBE.
Python не зря называют одним из лучших языков для начинающих. Во многом, так говорят за счёт его синтаксиса, который является гибким, минималистичным и почти «всепрощающим». А ведь синтаксис языка программирования Python действительно прост, и базовое описание о нём легко помещается в небольшой абзац. В этой статье мы его рассмотрим и сделаем это максимально просто и понятно.
Особенности синтаксиса языка Python:
- Конец строки в Пайтоне является концом инструкции, то есть точка с запятой не нужна.
- Вложенные инструкции объединяют в блоки в зависимости от величины отступов. Причём отступ может быть любым – главное то, чтобы он был одинаковым в пределах одного вложенного блока. Естественно, тут стоит помнить про читабельность вашего кода. То есть отступ в 1 пробел вряд ли можно назвать лучшим решением, а вот использование Tab уже лучше.
- Вложенные инструкции в языке программирования Python записывают с учётом одного и того же шаблона, исходя из которого, основная инструкция завершается двоеточием, а вслед за двоеточием располагается вложенный блок кода. Этот блок кода, как правило, имеет отступ под строкой основной инструкции. Давайте посмотрим, как выглядит этот синтаксис на примере:
Специальные случаи в синтаксисе языка Python:
- Допускается запись нескольких инструкций в одной строке, разделяемых точкой с запятой:
Главное — не злоупотреблять этой возможностью, ведь через месяц даже вы сами не сможете прочитать свой код. Помните об этом. 2. Допускается запись одной инструкции в нескольких строках. Для этого достаточно заключить её в круглые, квадратные либо фигурные скобки. 3. Тело составной инструкции можно располагать в той же строке, в которой располагается основная инструкция, но при условии, что основная инструкция не содержит составных инструкций:
Синтаксис Python на примере первой программы
Чтобы получить более чёткое представление о базовом синтаксисе языка программирования Python, давайте напишем простейшую программу. Если это ваша первая программа, воспользуйтесь любым онлайн-компилятором, поддерживающим Пайтон, например, этим.
И поместите туда следующий код, написанный в соответствии с правилами синтаксиса:
Уже на примере этой строчки мы видим, насколько прост синтаксис Python, ведь мы создали вполне себе рабочую программу, состоящую всего из одной строчки! Как вы уже догадались, программа выводит в терминал надпись ‘Welcome to OTUS!’, используя функцию print() . Да, вместо классического ‘Hello, World!’ мы написали другое словосочетание. Но и вы можете написать всё, что пожелаете — или вы не будущий Python-программист?
Теперь усложним задачу и напишем ещё что-нибудь:
Эта программа состоит всего из двух строк, зато она не просто выводит какое-нибудь сообщение, а является интерактивной, то есть взаимодействует с пользователем: 1) мы присваиваем переменной s значение функции input() с параметром ‘What is your name? \n’. А знак табуляции \n переносит строку (осуществляет перевод на новую строку), чтобы всё выглядело красиво (можете этот знак убрать и посмотреть, что получится); 2) input() получает строку, которую вы вводите с клавиатуры, а переменная s приобретает введённое вами значение; 3) уже знакомая вам функция print() выводит в терминал полученный результат, подставляя имя, которое вы введёте.
Результат:
Вот и всё)) Как видите, ничего сложного нет (пока). Вы можете поэкспериментировать с этим кодом, вставляя туда свои значения.
Если же вы всерьёз решили стать Python-программистом, но только начинаете свой путь на этом поприще, обратите внимание на наш подготовительный курс. Успешно освоив его, вы сможете в дальнейшем поступить и на курс для продвинутых разработчиков, где творится настоящая магия:
Мы предлагаем вам best practice по решению прикладных задач и освоению инструментов, применяемых при разработке инфраструктурных решений, веб-приложений, систем контроля качества и аналитических систем.
На кого рассчитан курс?
Курс предназначен для разработчиков, имеющих опыт программирования и желающих повысить свою квалификацию путём получения новых знаний и навыков. Вам будет комфортно учиться, если вы: — уверенно чувствуете себя с Python; — знакомы с C; — имеете представление о сетевом взаимодействии и реляционных СУБД; — знаете, как обращаться с Linux, git’ом и другими стандартными инструментами девелопера.
В чём особенность курса?
Главная цель — погрузить вас в современную «промышленную» разработку путём освоения основных software engineering компетенций и формирования прагматичного подхода к решению поставленных задач. Выполнение этой цели достигается с помощью следующих особенностей курса: 1. Высокая практикоориентированность. Студентам предлагается много домашних заданий, причём некоторые из них представляют собой настоящий challenge. Задания можно выполнять и во 2-й, и в 3-й версии Python, что говорит об универсальности программы. В конце курса предусмотрен большой выпускной проект.
2. Широкий охват. Вы испытаете свои способности и в web, и в анализе данных, и в вопросах создания высоконагруженных систем. Вы поймёте структуру разработки ПО и узнаете ответы на следующие вопросы: — как писать простой и идиоматичный код, за который не будет мучительно стыдно? — как тестировать и поддерживать код на Python? — как создать приложение, которое не умрёт под нагрузкой?
Синтаксис языка Python во многом похож на синтаксис таких языков, как Perl, C и Java, но вместе с этим имеет ряд отличий от этих языков программирования. В этой статье мы рассмотрим необходимые основы этого языка программирования.
Первая программа на Python:
Во-первых, следует отметить, что на Python вы можете программировать в двух режимах: интерактивном и скриптовом
Интерактивный режим программирования:
Запуск в командной строке python без передачи в качестве аргумента названия файла запустит интерпретатор Python:
Введите следующий текст после строки приглашения Python и нажмите Enter:
Если вы все сделали правильно, то интерпретатор выдаст строку:
Если вы получили ошибку — удостоверьтесь, что правильно переписали код и что используете интерпретатор версии 2.х (для версии 3.х следует использовать команду print («Hello, Python»))
Скриптовый режим программирования:
Запуск в командной строке python с названием файла (он еще называется скрипт) в качестве параметра, начнет выполнение кода, записанного в данном файле. После завершения выполнения скрипта, интерпретатор будет снова неактивен.
Давайте, создадим простую программу-скрипт на Python. Откройте любой текстовый редактор (Sublime, Notepad++, gedit. ), создайте в нем файл с именем test и расширением .py (все файлы, содержащие код на Python должны иметь расширение .py) и запишите в этот файл уже знакомый нам код и сохраните файл:
(Предполагается, что интерпретатор Python у вас задан в переменной PATH, то есть вы находясь в любой директории можете ввести python для запуска интерпретатора)
После этого введите следующую строку в командной строке и нажмите Enter:
Идентификаторы в Python:
Идентификаторы в Python это имена используемые для обозначения переменной, функции, класса, модуля или другого объекта. Идентификатор должен начинаться с буквы (от a до Z) или со знака подчеркивания (_), после которых может идти произвольное количество букв, знаков подчеркивания и чисел (от 0 до 9).
В Python недопустимо использование знаков препинания или специальных символов, таких как @, $ или % в качестве идентификаторов. Кроме того, Python чуствителен к регистру, то есть cat и Cat это два разных имени.
В Python существует следующая договоренность для названия идентификаторов:
- Имена классов начинаются с большой буквы, все остальные идентификаторы — с маленькой.
- Использования знака подчеркивания в качестве первого символа идентификатора означает, что данный идентификатор является частным (закрытым от использования вне класса).
- Если идентификатор начинается и заканчивается двумя знаками подчеркивания (например, __init__ ) это означает, что он является специальным именем, определенным внутри языка.
Зарезервированые (ключевые) слова в Python:
В данной таблице собраны все ключевые слова Python.
and | elif | if | |
as | else | import | raise |
assert | except | in | return |
break | exec | is | try |
class | finally | lambda | while |
continue | for | not | which |
def | from | or | yield |
del | global | pass |
Эти зарезервированные слова нельзя использовать в качестве имени переменной или любого другого идентификатора. Все ключевые слова Python состоят только из букв в нижнем регистре. Получить список ключевых слов возможно в интерпретаторе командой
Строки и отступы:
Одна из первых особенностей Python, которая бросается в глаза программистам, начинающим изучать этот язык программирования, это то, что в нем не используются скобки для обозначения отдельных блоков кода. Вместо них в Python используются двоеточия и отступы.
Количество пробелов в отступах произвольно и выбирается каждым на свое усмотрение, однако по договоренности равняется четырем пробелам. При этом отступ всего блока должен быть одинаковым.
Например, этот блок кода будет работать (хотя так писать не стоит):
А этот уже вызовет ошибку:
Таким образом, в Python несколько строк кода с одинаковым отступом будут формировать отдельный блок кода. Благодаря такой системе значительно повышается читаемость кода и прививается привычка писать понятно и структурировано.
Многострочные выражения:
Выражения в Python, как правило, заканчиваются новой строкой. Однако, в этом языке программирования существует специальный символ переноса строки (\), показывающий, что с окончанием строки не заканчивается код. Например:
Выражения, которые находятся внутри скобок: квадратных ( [ ] ), фигурных ( < >) или круглых ( ( ) ) не нуждаются в символе переноса строки. Например:
Кавычки в Python:
В Python можно использовать одинарные ( ‘ ), двойные («) и тройные (»’ или «»») кавычки чтобы обозначить строчный тип данных, при этом начинаться и заканчиваться строка должна одинаковыми кавычками. Строка занимающая несколько строк кода должна быть обрамлена тройными кавычками. Например:
Комментирование в Python:
Символ решетки (#) в Python обозначает начало комментария. Любые символы после решетки и до конца строки считаются комментариями и игнорируются интерпретатором.
Например следующий код:
Выведет только Hello, Python в консоль.
Ввод нескольких инструкций на одной строке:
Точка с запятой ( ; ) позволяет вводить несколько инструкций на одной строке. Например: