Змінні і типи даних Python
Змінна зберігає певні дані. Назва змінної в Python має починатися з алфавітного символу чи знака підкреслення і може містити алфавітно-цифрові символи і знак підкреслення. І крім того, назва змінної не повинна збігатися з назвою ключових слів мови Python. Ключових слів не так багато, їх легко запам'ятати: and, as, assert, break, class, continue, def, del, elif, else, except, False, finally, for, from, global, if, import, in, is, lambda, None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield.
Наприклад, створимо змінну:
name = "Tom"
Тут визначена змінна name, яка зберігає рядок "Tom".
У пайтоні застосовується два типи найменування змінних: camelcase і underscore notation.
Camel case має на увазі, що кожне нове під слово в найменуванні змінної починається з великої літери. Наприклад:
userName = "Tom"
Underscore notation має на увазі, що під слова в найменуванні змінної поділяються знаком підкреслення. Наприклад:
user_name = "Tom"
І також треба враховувати регістрозалежність, тому змінні name і Name будуть представляти різні об'єкти.
Змінна зберігає дані одного з типів даних. В Python існує безліч різних типів даних, які поділяються на категорії: числа, послідовності, словники, набори:
- boolean - логічне значення True або False
- int - представляє ціле число, наприклад, 1, 4, 8, 50
- float - представляє число з плаваючою точкою, наприклад, 1.2 або 34.76
- complex - комплексні числа
- str - рядки, наприклад "hello". В Python 3.x рядки представляють набір символів в кодуванні Unicode
- bytes - послідовність чисел в діапазоні 0-255
- byte array - масив байтів, аналогічний bytes з тією відмінністю, що може змінюватися
- list - список
- tuple - кортеж
- set - невпорядкована колекція унікальних об'єктів
- frozen set - те ж саме, що і set, тільки не може змінюватися (immutable)
- dict - словник, де кожен елемент має ключ і значення
Python є мовою з динамічною типізацією. Він визначає тип даних змінної виходячи з значення, яке їй присвоєно. Так, при присвоєнні рядка в подвійних або одинарних лапках змінна має тип str. При присвоєнні цілого числа Python автоматично визначає тип змінної як int. Щоб визначити змінну як об'єкт float, їй присвоюється дробове число, в якому роздільник цілої і дробової частини є точка. Число з плаваючою точкою можна визначати в експоненційному запису:
x = 3.9e3
print(x) # 3900.0
x = 3.9e-3
print(x) # 0.0039
Число float може мати тільки 18 значущих символів. Так, в даному випадку використовуються тільки два символи - 3.9. І якщо число занадто велике або занадто мале, то ми можемо записувати число в подібній нотації, використовуючи експоненту. Число після експоненти вказує ступінь числа 10, на яке треба помножити основне число - 3.9.
При цьому в процесі роботи програми ми можемо змінити тип змінної, присвоївши їй значення іншого типу:
user_id = "12tomsmith438" # тип str
print(user_id)
user_id = 234 # тип int
print(user_id)
За допомогою функції type() динамічно можна дізнатися поточний тип змінної:
user_id = "12tomsmith438"
print(type(user_id)) # <class 'str'>
user_id = 234
print(type(user_id)) # <class 'int'>