Змінні і типи даних 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'>