Python: Урок 3. Типи даних в програмуванні. Визначення змінної

Дані та їх типи

Можна помітити, що все, що ми робимо, ми робимо над чимось - якимись предметами або об'єктами. Ми міняємо властивості об'єктів та їх можливості. Програми для комп'ютерів також маніпулюють якимись об'єктами (назвемо їх поки даними).

Очевидно, дані бувають різними. Дуже часто комп'ютерній програмі доводиться працювати з числами і рядками. Наприклад, на минулому уроці ми "маніпулювали" числами, виконуючи над ними арифметичні операції. Можна сказати, що операція додавання виконувала зміну першого числа на величину другого, або множення збільшувало одне число в кількість разів, що відповідає другому числу.
  • Числа у свою чергу також бувають різними: цілими, дробовими, можуть мати величезне значення або дуже довгу дробову частину. При знайомстві з мовою програмування Python ми точно зіткнемося з трьома типами даних:
  • Цілі числа (integer) - позитивні і негативні цілі числа, а також 0 (наприклад, 4, 687, -45, 0).
  • Числа з плаваючою крапкою (float point) - дробові числа (наприклад, 1.45, -3.789654, 0.00453). Примітка: роздільником цілої і дробової частини служить крапка, а не кома.
  • Рядки (string) - набір символів, укладених в лапки (наприклад, "ball", "What is your name?", 'DkfjUUv', '6589'). Примітка: лапки в Python можуть бути одинарними або подвійними.

Операції

Можна сказати, що операція - це виконання якихось дій над даними (операндами). Для виконання конкретних дій потрібні спеціальні інструменти — оператори.




Наприклад, символ "+" по відношенню до чисел виконує операцію додавання, а по відношенню до рядків - конкатенацію (з'єднання). Парний знак ** зводить перше число в ступінь другого.

ВиразЗначення
34.907 + 320.65355.55699999999996
"Hi, " + "world :)"'Hi, world :)'
"Hi, " * 10'Hi, Hi, Hi, Hi, Hi, Hi, Hi, Hi, Hi, Hi, '

Зміна типу даних

Що буде, якщо ми спробуємо виконати в одному виразі операцію над різними типами даними? Наприклад, скласти ціле і дробове число, число і рядок. Однозначну відповідь дати не можна: так, при складанні цілого числа і числа з плаваючою крапкою, виходить число з плаваючою крапкою, а якщо спробувати скласти будь-яке число і рядок, то інтерпретатор Python видасть помилку.

ВиразРезультат виконання
1 + 0.651.65
"Hi," + 15П о м и л к а

Однак, бувають випадки, коли програма отримує дані у вигляді рядків, а оперувати повинна числами (або навпаки). У такому випадку використовуються спеціальні функції (особливі оператори), що дозволяють перетворити один тип даних в іншій. Так функція int () перетворює переданий їй рядок (або число з плаваючою крапкою) в ціле число, функція str () перетворює переданий їй аргумент в рядок, float () - в дробове число.

ВиразРезультат виконання
int ("56")56
int (4.03)4
int ("comp 486")П о м и л к а
str (56)'56 '
str (4.03)'4.03 '
float (56)56.0
float ("56")56.0

Змінні


Дані зберігаються в комірках пам'яті комп'ютера. Коли ми вводимо число, воно поміщається в пам'ять. Але як дізнатися, куди саме? Як надалі звертатися до цих даних? Раніше, при написанні програм на машинній мові, звернення до комірок пам'яті здійснювали за допомогою вказівки регістрів. Але вже з появою асемблерів, при зверненні до даних стали використовувати так звані змінні. Механізм зв'язку між змінними та даними може розрізнятися в залежності від мови програмування і типу даних. Поки досить запам'ятати, що дані зв'язуються з яких-небудь ім'ям і надалі звернення до них можливо з цього імені.

У програмі на мові Python зв'язок між даними і змінними встановлюється за допомогою знака =. Така операція називається присвоєнням. Наприклад, вираз a = 4 означає, що на об'єкт (дані) у певній області пам'яті посилається ім'я a і звертатися до них тепер слід за цим іменем.



Імена змінних можуть бути будь-якими. Однак є кілька загальних правил їх написання:
  1. Бажано давати змінним осмислені імена, що говорять про призначення даних, на які вони посилаються.
  2. Ім'я змінної не повинно збігатися з командами мови (зарезервованими ключовими словами).
  3. Ім'я змінної має починатися з букви або символу підкреслення (_).
Щоб дізнатися значення, на яке посилається змінна, перебуваючи в режимі інтерпретатора, достатньо її викликати (написати ім'я і натиснути Enter).

Приклад роботи зі змінними в інтерактивному режимі:
>>> apples = 100
>>> eat_day = 5
>>> day = 7
>>> apples = apples - eat_day * day
>>> apples
65

Практична робота

Змінній var_int надайте значення 10, var_float - значення 8.4, var_str - "No".
Змініть значення, збережене у змінній var_int, збільшивши його в 3.5 рази, результат зв'яжіть зі змінною big_int.
Змініть значення, збережене у змінній var_float, зменшивши його на одиницю, результат зв'яжіть з тією ж змінною.
Розділіть var_int на var_float, а потім big_int на var_float. Результат даних виразів не прив'язуйте ні до яких змінних.
Змініть значення змінної var_str на "NoNoYesYesYes". При формуванні нового значення використовуйте операції конкатенації (+) і повторення рядка (*).
Виведіть значення всіх змінних.

Результат виконання практичної роботи

>>> var_int = 10
>>> var_float = 8.4
>>> var_str = "No"
>>> big_int = var_int * 3.5
>>> var_float = var_float - 1
>>> var_int / var_float
1.3513513513513513
>>> big_int / var_float
4.72972972972973
>>> var_str = var_str * 2 + "Yes" * 3
>>> var_int
10
>>> var_float
7.4
>>> big_int
35.0
>>> var_str
'NoNoYesYesYes'

Запитання

  1. Які типи даних ви знаєте? Опишіть їх.
  2. Чи можна перетворити дробове число на ціле? ціле на дробове? У яких випадках можна рядок перетворити на число?
  3. Наведіть приклади операцій. Для чого призначена операція присвоєння?
  4. Які існують правила і рекомендації для іменування змінних?

Коментарі

Популярні дописи з цього блогу

Азбука Морзе Українською

Python: Урок 4. Логічні вирази