По традиции, изучение языка начнём с написания команды print ('Hello, World!'
). Эта программа будет выводить на экран текст. Чтобы вывести что-то на экран, нужно дать компьютеру специальную команду. В языке Python такая команда — print()
:
print('Hello, World!')
#=> Hello, World!
Содержание
Комментарии
Практически все языки программирования позволяют оставлять в коде комментарии. Они никак не используются интерпретатором и нужны для людей: чтобы программист оставлял пометки для себя и для других программистов. С их помощью добавляют пояснения, как работает код, а также всевозможные примечания:
#Удалить строку ниже после реализации задачи
print(10)
Комментарии в Python начинаются со знака # и могут появляться в любом месте программы. Комментарий может занимать всю строку. Если одной строки мало, то создаются несколько комментариев. Комментарий также может находиться на строке после какого-нибудь кода:
print('I am the King') # Но это не точно
Инструкции
Инструкция — это команда для компьютера. Код на Python — это набор инструкций, которые, как правило, отделяются друг от друга переводом строки.
Вот пример кода с двумя инструкциями. При запуске этого кода на экран последовательно выводятся два предложения:
print('Привет, мир!')
print('Тушите свет.')
#=> Привет, мир!
#=> Тушите свет.
Теоретически инструкции можно написать последовательно друг за другом без переноса на новую строчку. В таком случае разделителем выступает ;:
print('Привет, мир!'); print('Тушите свет.')
Рeзультат на экране будет таким же, но такой код неудобен для чтения, поэтому инструкции располагают друг под другом.
Почему это важно знать? Инструкция — это единица исполнения. Интерпретатор, программа которая запускает код на Python, выполняет инструкции строго по очереди.
Арифметические операции
На базовом уровне компьютеры оперируют только числами. Даже в прикладных программах на высокоуровневых языках внутри много чисел и операций над ними.
Для сложения двух чисел в математике мы пишем, например, 3 + 4
. В программировании — то же самое. Вот программа, складывающая два числа:
3 + 4
Арифметика в программировании практически не отличается от школьной арифметики.
Строчка кода 3 + 4
заставит интерпретатор сложить числа и узнать результат. Эта программа будет работать, но в ней нет смысла, потому что по сути мы не даём команду интерпретатору, мы просто говорим ему «смотри, сумма трёх и четырёх». В реальной работе недостаточно сообщать интерпретатору о математическом выражении. Например, при создании интернет-магазина недостаточно просить интерпретатор посчитать стоимость товаров в корзине, а нужно просить посчитать стоимость И показать цену покупателю.
Нам нужно попросить интерпретатор сложить 3 + 4
И дать команду сделать что-то с результатом. Например, вывести его на экран:
# Сначала вычисляется сумма,
# затем она передается в функцию печати
print(3 + 4) # => 7
Доступны следующие операции (помимо сложения):
-
— вычитание*
— умножение**
— возведение в степень/
— деление//
— целочисленное деление%
— остаток от деления
Примеры:
print(8 / 2) # => 4.0 (При делении двух чисел получается тип данных float)
print(3 ** 2) # => 9
print(9 % 2) # => 1
Операторы
Знак операции, такой как *
, называют оператором. Операторы выполняют операции над определенными значениями, которые называются операндами. Сами операторы, обычно, представлены одним или несколькими символами. Реже словом. Подавляющее большинство операторов соответствуют математическим операциям.
print(9 + 3)
В этом примере +
это оператор, а числа 9 и 3 — это операнды.
В случае сложения у нас есть два операнда: один слева, другой справа от знака +
. Операции, которые требуют наличия двух операндов, называются бинарными. Если пропустить хотя бы один операнд, например, так 3 +
, то программа завершится с синтаксической ошибкой.
Операции бывают не только бинарными, но и унарными (с одним операндом) и даже тернарными (с тремя операндами)! Причем операторы могут выглядеть одинаково, но обозначать разные операции. Символы +
и -
используются не только как операторы. Когда речь идёт про отрицательные числа, то знак минуса становится частью числа:
print(-3) # => -3
Выше пример применения унарной операции к числу 3
. Оператор минус перед тройкой говорит интерпретатору взять число 3
и найти противоположное, то есть -3
.
Приоритет операций
А что, если понадобится вычислить такое выражение: 2 + 2 * 2
. Именно так и запишем:
print(2 + 2 * 2) # => 6
В школьной математике мы изучали понятие «приоритет операции». Приоритет определяет то, в какой последовательности должны выполняться операции. Например, умножение и деление имеют больший приоритет, чем сложение и вычитание, а приоритет возведения в степень выше всех остальных арифметических операций: 2 ** 3 * 2
вычислится в 16
.
Но нередко вычисления должны происходить в порядке, отличном от стандартного приоритета. В сложных ситуациях приоритет можно (и нужно) задавать круглыми скобками, точно так же, как в школе, например: (2 + 2) * 2
. Скобки можно ставить вокруг любой операции. Они могут вкладываться друг в друга сколько угодно раз. Вот пара примеров:
print(3 ** (4 - 2)) # => 9
print(7 * 3 + (4 / 2) - (8 + (2 - 1))) # => 14
Главное при этом соблюдать парность, то есть закрывать скобки в правильном порядке. Для удобства ставьте сразу открывающую и закрывающую скобку, а потом пишите внутреннюю часть.
Иногда выражение сложно воспринимать визуально. Тогда можно расставить скобки, не повлияв на приоритет:
# Было
print(8 / 2 + 5 - -3 / 2) # => 10.5
# Стало
print(((8 / 2) + 5) - (-3 / 2)) # => 10.5
Код пишется для людей, потому что код будут читать люди, а машины будут только исполнять его. Для машин код — или корректный, или не корректный, для них нет «более» понятного или «менее» понятного кода.
Надеюсь, что статья была для вас полезной. В будущих статьях мы разберем ошибки оформления, переменные, а также строки.