Змінні та вирази
Робота зі змінними та виразами є основними будівельними блоками, з яких ми згодом будуємо програми, використовуючи конструкції для контролю обчислень.
Базове навчання в цій галузі поділяється на дві гілки:
- Змінні та числові вирази у Python – базове використання змінних, написання арифметичних виразів, основні математичні функції.
- Логічні вирази у Python – оператори порівняння, логічні сполучення та їх використання.
Потім ми створюємо інші вирази, наприклад, використовуючи рядки і списки.
Для початківців у Python може бути корисно пройти вправу змінні із розділу алгоритмічного мислення як розминку. Там можна практикувати основні принципи роботи зі змінними без специфіки Python.
ВгоруЗмінні та числові вирази в Python
Змінна – це ім’я, яке посилається на деяке значення. Значення змінної може змінюватися – зрештою, її називають «змінною».
Назви змінних
Назви змінних можуть містити літери, цифри та символ підкреслення. Вони не мають містити пробіл або починатися з цифри. Назви змінних чутливі до регістру, тобто number і Number — це дві різні змінні. У Python прийнято писати імена змінних у нижньому регістрі. Ми використовуємо підкреслення у багатослівних іменах змінних, як-от, list_length. Python 3 дозволяє використовувати символи українського алфавіту в іменах змінних. Проте, краще писати назви змінних англійською. Ми обираємо описові імена змінних.
Приклади:
- правильні назви змінних:
name,k,max_value - недійсні назви змінних:
2nd_var,actor name,max-value
Створення та оновлення змінної
Ми створюємо змінну, просто присвоюючи їй значення. Згодом ми можемо оновити значення. Змінна містить останнє значення, яке їй було призначено. Для присвоєння ми використовуємо знак рівняння:
x = 20 # створення змінної x і присвоєння їй значення 20
y = 5 # створення змінної y і присвоєння їй значення 5
x = 10 # зміна значення x на 10
print(x, y) # друкує 10 5Змінні можуть бути різних типів. Python — це динамічно типізована мова програмування. Це означає, що нам не потрібно вказувати тип змінної у програмі, інтерпретатор мови визначає його автоматично. Якщо ми призначимо x = 5, змінна x автоматично матиме тип int (ціле число).
Список змінних і виразів
Ми виконуємо випис за допомогою функції print. Ця функція може мати більше параметрів. Якщо ми хочемо перерахувати символи для арифметичних операцій, ми маємо взяти їх у лапки або апостроф. Приклади:
a = 3
b = 8
print(a) # вихід: 3
print(a, b) # вихід: 3 8
print(a + b) # вихід: 11
print(a, "+", b) # вихід: 3 + 8Арифметичні операції
Ми можемо виконувати основні арифметичні операції з числами, позначення такі самі, як і на звичайних калькуляторах (+, -, /, *). Python також підтримує операції цілочисельного ділення (//), ділення з залишком (%) і піднесення до степеня (**) — ці операції часто використовуються у програмуванні.
x + y # додавання
x - y # віднімання
x * y # множення
x / y # ділення
x // y # цілочисельне ділення
x % y # ділення з залишком
x ** y # піднесення до степеняУ програмуванні ми не можемо опускати позначення множення, як у математиці, тобто ми не можемо писати y = 2x, ми мусимо писати множення із зірочкою y = 2*x.
Пріоритет операцій такий самий, як у математиці, і, як і у математиці, ми можемо використовувати круглі дужки:
print(2+3*4) # -> 14
print((2+3)*4) # -> 20
x = 5
print(3*x**2) # -> 75
print((3*x)**2) # -> 225Скорочений запис
У програмуванні ми часто оновлюємо значення змінної, додаючи до неї певне значення, наприклад, x = x + 1, money = money + wage. Оскільки це часта операція, Python пропонує скорочений запис за допомогою оператора +=. Існують аналогічні оператори і для інших арифметичних операцій.
x += 1 # те саме, що і x = x + 1
x *= 2 # те саме, що і = x * 2
money -= price # те саме, що money = money - priceМатематичні функції в Python
Python пропонує вбудовані функції для основних математичних функцій, таких як:
abs(x) # абсолютне значення x
round(x) # округлити значення x (до цілого числа)
round(x, 2) # округлити значення x до 2 знаків після коми
min(x, y) # мінімум x, y
max(x, y, z) # максимум x, yІнші корисні математичні функції (наприклад, log, sqrt, sin, floor) надаються Python у бібліотеці math.
Логічні вирази в Python
Python обчислює логічні вирази як значення True (правда) і False (неправда). Точний запис цих констант, як правило, є джерелом помилок:
- Великі літери важливі:
True— це логічна константа (правда), аtrue— це назва змінної (яка може містити будь-яке значення)."True"і"False"(тобто імена логічних констант, взяті в лапки) є звичайними рядками, а не константами зі спеціальним значенням.
Оператори порівняння
Базовим логічним виразом є порівняння двох виразів (наприклад, порівняння значення змінної та константи). Ми пишемо оператори більший/менший схожим із математикою (> і <) чином, «більше/менше або дорівнює» ми пишемо як >= і <=. Ми виконуємо перевірку рівності за допомогою двох знаків рівності (==). Перевірку нерівності записуємо як !=.
Приклади:
x = 42 # присвоєння змінній
x == 42 # перевірка рівності
x != 42 # перевірка нерівності
x > 42 # більше
x >= 42 # більше або дорівнюєЗверніть увагу на різницю між присвоєнням змінній (один знак рівності) і перевіркою на рівність (два знаки рівності).
Попередження: оператор is
is, який, здається, працює подібним чином як і ==, і його використання, як правило, є джерелом помилок. Оператор is є корисним інструментом для досвідчених програмістів, але новачкам настійно рекомендується уникати його.
Логічні сполучники
Ми можемо комбінувати основні логічні вирази за допомогою класичних логічних сполучників:
not= запереченняand= і також (кон’юнкція) = результат єTrue, якщо обидва аргументи єTrueor= або (диз’юнкція) = результат єTrue, якщо хоча б один з аргументів єTrue
a = True # правда
b = False # неправда
c = a or b # або -> True
c = a and b # і також -> False
c = not a # заперечення -> FalseЩоб відпрацювати значення сполучників, скористайтеся вправою Бінарний кросворд.
Цікавий факт: логічні сполучники в інших мовах
У деяких мовах програмування логічні сполучники записуються за допомогою символів &, |, !. Ви також можете зустріти ці символи в Python (наприклад, в операціях із наборами), але вони не використовуються для логічних сполучень, вони записуються на Python англійськими назвами and, or, not.
Пріоритети логічних сполучників
Пріоритети операторів розташовані у порядку спадання: not, and, or (тобто, not має найвищий пріоритет). Ми можемо використовувати круглі дужки, щоб змінити пріоритет або зробити вирази більш читабельними.
x = a or b and c # спочатку вирішується and, лише потім or
x = a or (b and c) # так само як у минулому прикладі, але читається простіше
x = (a or b) and c # тепер спочатку вирішується or
x = not a or b # спочатку not, лише потім or
x = not (a or b) # спочатку or, потім not