103.62K
Category: programmingprogramming

Переменные, выражения и инструкции в Python

1.

ПЕРЕМЕННЫЕ, ВЫРАЖЕНИЯ
И ИНСТРУКЦИИ в Python

2.

Одна из самых мощных функций языка программирования —
возможность
манипулировать
переменными
(variables).
Переменная — это имя, которое ссылается на значение.

3.

ИНСТРУКЦИИ ПРИСВАИВАНИЯ
Инструкция присваивания (assignment statement) создает новую
переменную и присваивает ей значение:
>>> message = 'Сообщение на совершенно другую тему'
>>> n = 17
>>> pi = 3.141592653589793
*В этом примере три инструкции присваивания. Первая присваивает строку новой переменной с
именем message; вторая задает переменной n целочисленное значение 17; третья присваивает
приближенное значение π переменной pi.

4.

ИМЕНА ПЕРЕМЕННЫХ
Хорошей практикой будет привычка выбирать имена
переменных, которые явно указывают на свое предназначение.
Имена переменных могут иметь любую длину. Они могут
содержать как латинские буквы, так и цифры, но не могут
начинаться с цифры. Можно использовать прописные буквы,
но среди программистов для имен переменных принято
использовать только строчные буквы.

5.

ИМЕНА ПЕРЕМЕННЫХ
Если вы присвоите переменной недопустимое имя, то при
выполнении программы увидите синтаксическую ошибку
>>> 76trombones = 'большой концерт'
SyntaxError: invalid syntax
>>> more@ = 1000000
SyntaxError: invalid syntax
>>> class = 'Технология бродильных производств'
SyntaxError: invalid syntax
*76trombones — недопустимое имя, потому что начинается с цифры. Имя
more@ недопустимо, поскольку содержит недопустимый символ @. Но что
не так с class?

6.

ИМЕНА ПЕРЕМЕННЫХ
Оказывается, class — одно из зарезервированных слов (keywords)*
в языке Python. Интерпретатор использует такие слова для
распознавания структуры программы, и их нельзя использовать
в качестве имен переменных
В языке Python используют следующие зарезервированные слова:
False
class
finally
is
return
None
continue
for
lambda
try
True
def
from
nonlocal
while
and
del
global
not
with
as
elif
if
or
yield
assert
else
import
pass
break
except
in
raise

7.

ВЫРАЖЕНИЯ И ИНСТРУКЦИИ
Выражение (expression) — это комбинация значений, переменных и операторов. Само
по себе значение или переменная также считаются выражениями, так что все
приведенные ниже выражения допустимы:
>>> 42
42
>>> n
17
>>> n + 25
42

8.

ВЫРАЖЕНИЯ И ИНСТРУКЦИИ
Когда вы вводите выражение в командной строке, интерпретатор вычисляет
его и возвращает значение. В этом примере переменная n имеет значение 17,
а выражение n + 25 возвращает значение 42.
Инструкция (statement) — это блок кода, который что-то делает, например
создает переменную или выводит значение на экран.
>>> n = 17
>>> print(n)
Первая строка — это инструкция присваивания, которая присваивает значение
переменной n. Вторая строка — это инструкция печати, которая выводит значение n
на экран.

9.

ВЫПОЛНЕНИЕ СКРИПТОВ
Когда вы вводите инструкцию, интерпретатор выполняет ее и возвращает
результат.
До сих пор мы запускали Python в интерактивном режиме, что означает, что
вы взаимодействовали непосредственно с интерпретатором. Интерактивный
режим — прекрасный способ научиться программировать, но, если вы
разрабатываете настоящую программу, он будет неудобным. Альтернатива
заключается в сохранении исходного кода в файл, называемый скриптом
(script), и последующем запуске интерпретатора для его Выполнение
скриптов 37 выполнения. По соглашению, файлы скриптов Python имеют
имена, которые заканчиваются на .py.

10.

ВЫПОЛНЕНИЕ СКРИПТОВ
Поскольку среда разработки Python поддерживает оба режима, вы можете
проверить части кода в интерактивном режиме, прежде чем помещать их
в скрипт. Но между интерактивным режимом и запуском скриптов есть
различия, которые могут сбивать с толку.
Например, если вы используете Python в качестве калькулятора, вы можете
ввести:
>>> miles = 26.2
>>> miles * 1.61
42.182

11.

ВЫПОЛНЕНИЕ СКРИПТОВ
На первой строке переменной miles присваивается значение, но без наглядного
эффекта. На второй строке интерпретатор вычисляет выражение и возвращает его
результат. Оказывается, марафонская дистанция составляет около 42 километров.
Но если вы сохраните этот же код в файле скрипта и запустите его, вы вообще ничего
не увидите. При выполнении скриптов выражения сами по себе не имеют наглядного
эффекта. Python фактически вычисляет выражение, но не отображает значение, если
вы не попросите это сделать явно:
miles = 26.2
print(miles * 1.61)

12.

ПРИОРИТЕТ ОПЕРАЦИЙ
Когда выражение содержит более одной операции, порядок вычисления зависит
от приоритета операций (order of operations). С математическими операторами Python
следует математическому соглашению. Аббревиатура PEMDAS является простым способом
запоминать правила.
Скобки (Parentheses) имеют наивысший приоритет и могут использоваться для
принудительного вычисления выражения в нужном вам порядке. Поскольку выражения в
скобках вычисляются первыми, 2 * (3 – 1) равно 4, а (1 + 1) ** (5 – 2) равно 8. Вы также
можете использовать круглые скобки, чтобы упростить чтение выражения, например так:
(minute * 100) / 60, даже если результат в этом случае не изменится.
Возведение в степень (exponentiation) имеет следующий наивысший приоритет, поэтому
1 + 2 ** 3 равно 9, а не 27, а 2 * 3 ** 2 результирует в 18, а не 36.
Умножение (multiplication) и деление (division) имеют более высокий приоритет, чем
сложение (addition) и вычитание (subtraction). Таким образом, 2 * 3 – 1 равно 5, а не 4, а 6
+ 4 / 2 равно 8, а не 5.
Операции с одинаковым приоритетом вычисляются слева направо (кроме возведения в
степень). Таким образом, в выражении degrees / 2 * pi сначала происходит деление, а
результат умножается на значение переменной pi. Чтобы разделить degrees на 2π, вы
можете использовать скобки или написать выражение degrees / 2 / pi

13.

ОПЕРАЦИИ СО СТРОКАМИ
Как правило, вы не можете выполнять математические операции над
строками, даже если строки выглядят как числа, поэтому следующие действия
недопустимы:
'2' – '1' 'шоколадка' / 'легко' 'третий' * 'это чары’
Но есть два исключения: + и *. Операция + выполняет конкатенацию строк, что
означает, что строки соединяются, связываются между собой. Например:
>>> first = 'пятко'
>>> second = 'дер'
>>> first + second
пяткодер

14.

ОПЕРАЦИИ СО СТРОКАМИ
Операция * также работает со строками; она выполняет повторение.
Например, результат выражения 'Спам' * 3 будет равен СпамСпамСпам.
Если одно из значений строковое, другое должно быть целым числом.
Такое использование операций + и * имеет смысл по аналогии
со сложением и умножением. Точно так же, как 4 * 3 эквивалентно 4 + 4 + 4,
ожидается, что 'Спам' * 3 будет аналогично выражению 'Спам' + 'Спам' +
'Спам', и это так. С другой стороны, есть существенное отличие
конкатенации и повторения строк от целочисленного сложения
и умножения.

15.

КОММЕНТАРИИ
По мере того как код программы усложняется, его становится все труднее
читать. Формальные языки — насыщенные, и часто с одного взгляда трудно
понять, что код делает или почему.
По этой причине рекомендуется сопровождать свои программы заметками
и объяснять на естественном языке, что делает программа. Такие заметки
называются комментариями, и начинаются они с символа #:
# Вычисляем процент прошедшего часа
percentage = (minute * 100) / 60

16.

КОММЕНТАРИИ
В этом примере комментарий расположен в отдельной строке. Вы также
можете поместить комментарии в конце строки с выражением:
percentage = (minute * 100) / 60 # Процент часа
Весь текст от символа # до конца строки игнорируется — он не влияет
на выполнение программы. Комментарии наиболее полезны, когда
документируют неочевидные инструкции кода. Разумно предположить, что
разработчик сам сможет выяснить, что делает код, поэтому полезнее
объяснить почему.
Этот комментарий к коду лишний и бесполезный:
v = 5 # Присваиваем значение 5 переменной v
А этот комментарий содержит полезную информацию, которой нет в коде:
v = 5 # Задаем скорость в метрах в секунду

17.

ОТЛАДКА
В программе могут возникать три вида ошибок: синтаксические ошибки, ошибки
в процессе выполнения и семантические ошибки. Полезно различать их, чтобы находить
и исправлять быстрее
Синтаксическая ошибка (syntax error). Синтаксис определяет структуру и правила
написания выражений и инструкций.
Ошибка в процессе выполнения (runtime error). Второй тип ошибки — это ошибка
в процессе выполнения, которая называется так, потому что проявляется только после
запуска программы. Еще эти ошибки называются исключениями, поскольку обычно
указывают на то, что произошло что-то исключительное (и плохое).
Семантическая ошибка (semantic error). Третий тип ошибок — семантический, что
означает «связанный со смыслом». Если в вашей программе есть семантическая
ошибка, программа будет работать без вывода сообщений об ошибках,
но неправильно.
English     Русский Rules