Змінні
Змінні призначені для зберігання даних. Назва змінної в Python повинна починатися з алфавітного символу або символу підкреслення і може містити алфавітно-цифрові символи і знак підкреслення. Крім того, назва змінної не повинна співпадати з назвою ключових слів мови Python. Ключових слів не так багато, їх легко запам’ятати:
1 False await else import pass
2 None break except in raise
3 True class finally is return
4 and continue for lambda try
5 as def from nonlocal while
6 assert del global not with
7 async elif if or yield
Наприклад, створимо таку змінну:
1 name = "Tom"
Тут визначено змінну name, яка зберігає рядок “Tom”. У Python застосовується два типи найменування змінних: camel case і underscore notation. Camel case означає, що кожне нове підсліво в найменуванні змінної починається з великої літери. Наприклад:
1 userName = "Tom"
Underscore notation передбачає, що підслова в найменуванні змінної розділяються знаком підкреслення. Наприклад:
1 user_name = "Tom"
Також необхідно враховувати реєстрозалежність, тому змінні name і Name будуть представляти різні об’єкти.
1 #Дві різні змінні
2 name = Tom
3 Name = Tom
Визначивши змінну, ми можемо використовувати її в програмі. Наприклад, спробувати вивести її вміст на консоль за допомогою вбудованої функції print:
1 name = Tom #Визначення перемінної name
2 print(name) #Виведення значення перемінної name на консоль
Наприклад, визначення та застосування змінної в середовищі PyCharm:
Відмінною рисою змінної є те, що ми можемо змінювати її значення упродовж роботи програми:
1 name = "Tom" # змінна name рівна значенню "Tom"
2 print(name) # виводить: Tom
3 name = "Bob" # змінюємо значення змінної на "Bob"
4 print(name) # виводить: Bob
Типи даних
Змінна зберігає дані одного з типів даних. У Python існує безліч різних типів даних. В даному випадку розглянемо лише базові типи: bool, int, float, complex і str.
Логічні значення
Тип bool репрезентує два логічних значення: True (вірно, істина) чи False (невірно, фальш). Значення True слугує для того, щоб показати, що щось істинне. Значення False, навпаки, показує, що щось невірно. Приклад змінних такого типу:
1 isMarried = false
2 print(isMarried) #False
3
4 isAlive = true
5 print(isAlive) #True
Цілі числа
Тип int є цілим числом, наприклад, 1, 4, 8, 50. Приклад:
1 age = 21
2 print("Вік" : age) # Вік: 21
3
4 count = 15
5 print("Кількість", count) # Кількість: 15
За замовчуванням стандартні числа розцінюються як числа у десятковій системі. Але Python також підтримує числа у двійковій, вісімковій та шістнадцятковій системах. Для вказівки на те, що число належить до двійкової системи, перед числом ставиться префікс 0b:
1 a = 0b11
2 b = 0b1011
3 c = 0b100001
4 print(a) # 3 в десятковій системі
5 print(b) # 11 в десятковій системі
6 print(c) # 33 в десятковій системі
Для вказівки на те, що число належить до вісімкової системи, перед числом ставиться префікс 0o:
1 a = 0o7
2 b = 0o11
3 c = 0o17
4 print(a) # 7 в десятковій системі
5 print(b) # 9 в десятковій системі
6 print(c) # 15 в десятковій системі
Для вказівки на те, що число належить до шістнадцяткової системи, перед числом ставиться префікс 0x:
1 a = 0x0A
2 b = 0xFF
3 c = 0xA1
4 print(a) # 10 в десятковій системі
5 print(b) # 255 в десятковій системі
6 print(c) # 161 в десятковій системі
Варто зазначити, що в якій би системі ми не передавали число в функцію print для виведення на консоль, воно за замовчуванням буде виводитися в десятковій системі.
Числа з плаваючою крапкою
Тип float є числом з плаваючою крапкою, наприклад, 1.2 або 34.76. У якості роздільника цілої та дробової частин використовується крапка.
1 height = 1.68
2 pi = 3.14
3 weight = 68.
4 print(height) # 1.68
5 print(pi) # 3.14
6 print(weight) # 68.0
Число з плаваючою точкою можна визначати в експоненційному записі:
1 x = 3.9e3
2 print(x) # 3900.0
3
4 x = 3.9e-3
5 print(x) # 0.0039
Число float може мати лише 18 значущих символів. Так, у цьому випадку використовуються лише два символи – 3.9. І якщо число занадто велике чи занадто мале, ми можемо записувати число у подібній нотації, використовуючи експоненту. Число після експоненти вказує ступінь числа 10, на яке потрібно помножити основне число - 3.9.
Комплексні числа
Тип complex представляє комплексні числа у форматі речова_частина+уявна_частинаj - після уявної частини вказується суфікс j
1 complexNumber = 1+2j
2 print(complexNumber) # (1+2j)
Рядки
Тип str представляє рядки. Рядок є послідовністю символів, що укладена в одинарні або подвійні лапки, наприклад “hello” та ‘hello’. У Python 3.x рядки є набором символів у кодуванні Unicode
1 message = "Hello World!"
2 print(message) # Hello World!
3
4 name = 'Tom'
5 print(name) # Tom
При цьому якщо рядок має багато символів, його можна розбити на частини і розмістити їх на різних рядках коду. У цьому випадку весь рядок береться у круглі дужки, а його окремі частини – у лапки:
1 text = ("Laudate omnes gentes laudate"
2 "Magnificat in secula")
3 print(text)
Якщо ми хочемо визначити багаторядковий текст, такий текст береться у потрійні подвійні чи одинарні лапки:
1 '''
2 Цей коментар
3 '''
4 text = '''Laudate ones gentes laudate
5 Magnificat insecula
6 Et anima mea laudate
7 Magnificat in secula
8 '''
9 print(text)
При використанні потрійних одинарних лапок не варто плутати їх із коментарями: якщо текст у потрійних одинарних лапках присвоюється змінною, то це рядок, а не коментар.
Керуючі послідовності у рядку
Рядок може містити низку спеціальних символів - послідовностей, що керують. Деякі з них:
: дозволяє додати внутрішні рядки слеш
': дозволяє додати всередину рядка одинарну лапку
": дозволяє додати всередину рядка подвійну лапку
\n: дозволяє здійснити перехід на новий рядок
\t: додає табуляцію (4 відступи)
Застосуємо кілька послідовностей:
1 text = "Message:\n\"Hello World\""
2 print(text)
Консольне виведення програми:
Message:
"Hello World"
Хоча подібні послідовності можуть нам допомогти в деяких справах, наприклад, помістити в рядок лапку, зробити табуляцію, перенесення на інший рядок. Але вони також можуть заважати. Наприклад:
1 path = "C:\python\name.txt
2 print(path)
Тут змінна path містить певний шлях до файлу. Однак усередині рядка зустрічаються символи "\n", які будуть інтерпретовані як послідовність, що керує. Так, ми отримаємо наступний консольний висновок:
C:\python
ame.txt
Щоб уникнути подібної ситуації, перед рядком ставиться символ r
1 path = r"C:\python\name.txt"
2 print(path)
Вставка значення в рядок
Python дозволяє вбудовувати в рядок значення інших змінних. Для цього всередині рядка змінні розміщуються у фігурних дужках {}, а перед усім рядком ставиться символ f:
1 userName = "Tom"
2 userAge = 37
3 user = f"name: {userName} age {userAge}"
4 print(user) # name: Tom age: 37
У цьому випадку на місце {userName} вставлятиметься змінна userName. Аналогічно замість {userAge} буде вставлятися значення змінної userAge.
Динамічна типізація
Python є мовою з динамічною типізацією. А це означає, що змінна не прив’язана жорстко до певного типу. Тип змінної визначається виходячи із значення, яке їй присвоюється. Так, при присвоєнні рядка в подвійних чи одинарних лапках змінна має тип str. Під час присвоєння цілого числа Python автоматично визначає тип змінної як int. Щоб визначити змінну як об’єкт float, їй надається дробове число, в якому роздільником цілої та дробової частини є крапка.
При цьому в процесі роботи програми ми можемо змінити тип змінної, надавши їй значення іншого типу:
1 userId = "abc" # тип str
2 print(useId)
3
4 userId = 234 # тип int
5 print(userId)
За допомогою вбудованої функції type() динамічно можна дізнатися про поточний тип змінної:
1 userId = "abc" # тип str
2 print(type(userId)) # <class 'str'>
3
4 userId = 234 # тип int
5 print(type(userId)) # <class 'int'>
Коментарі