3
Числові типи данихв Python
Числа бувають різними: цілими, дробовими, комплексними:
– int (цілі числа ) – додатні і від’ємні цілі числа, а також 0 (наприклад, 4, 687, -45, 0).
– float (числа з плаваючою точкою ) – дробові числа (наприклад, 1.45, -3.789654,
0.00453). Роздільником цілої і дробової частини служить точка.
– complex (комплексні числа) – зберігає пару значень типу float, одне з яких
представляє дійсну частину комплексного числа, а інше – уявну (наприклад, 1+2j, -
5+10j, 0.44+0.08j)
Можна використовувати функцію type(), щоб дізнатися, до якого класу належить
змінна чи значення. Наприклад:
num1 = 6
print(num1, 'is of type', type(num1))
num2 = 3.0
print(num2, 'is of type', type(num2))
num3 = 2+4j
print(num3, 'is of type', type(num3))
Результат:
6 is of type <class 'int'>
3.0 is of type <class 'float'>
(2+4j) is of type <class 'complex'>
4.
4
При форматованомувиведенні використовуються наступні основні формати:
d – для змінних типу int в десятковому форматі;
X – для змінних типу int в шістнадцятковому форматі;
f – для змінних типу float;
s - для рядкового типу str.
Наприклад:
print('x=%d=%X=%s y=%7.2f'%(x,x,bin(x),y))
print('x={:d}={:X}={:s} y={:7.2f}'.format(x,x,bin(x),y))
Рядок (str) в Python
Рядок — це послідовність символів, поміщена в одинарні чи подвійні лапки.
Наприклад:
subjects='mathematics,physics,chemistry,informatics,English'
print("subjects=",subjects)
message = 'Python for beginners'
print(message,type(message))
Результат:
subjects= mathematics,physics,chemistry,informatics,English
Python for beginners <class 'str'>
5.
5
Список (list) вPython
Список — це впорядкована послідовність однакових чи різних типів елементів,
розділених комами та поміщених у квадратні дужки [ ]. Наприклад:
languages = [“C++", "Java", "Python"]
Тут ми створили список languages з 3 рядковими значеннями всередині нього.
Для доступу до елементів списку використовується індекс (він же “порядковий номер”).
Нумерація елементів завжди починається з нуля.
Наприклад:
languages = ["C++", "Java", "Python"]
print(languages, type(languages))
# Отримуємо доступ до елемента з індексом 0
print(languages[0])
# Отримуємо доступ до елемента з індексом 2
print(languages[2])
Результат:
['C++', 'Java', 'Python'] <class 'list'>
C++
Python
Тут ми використовували значення індексу для доступу до елементів зі списку languages.
languages[0] — доступ до першого елементу списку, тобто “С++".
languages[2] — доступ до третього елементу списку, тобто "Python".
6.
6
Кортеж (tuple) вPython
Кортеж — це впорядкована послідовність елементів, аналогічна до списку. Єдина
відмінність полягає в тому, що кортежі незмінні. Створені кортежі уже не
можуть змінюватися.
У Python круглі дужки ( ) використовуються для зберігання елементів кортежу.
Наприклад:
tup1=(70,50,30,40,60,50)
print(tup1,type(tup1))
Результат:
(70, 50, 30, 40, 60, 50) <class 'tuple'>
Подібно до списків, для доступу до елементів кортежу в Python використовується
номер індексу (0, 1, 2…). Наприклад:
# Створюємо кортеж
sub=('mathematics','physics',
'chemistry','informatics',
'programming','automatics')
print(sub[0],sub[3])
Результат:
mathematics informatics
7.
7
Множина (set) вPython
Множина (набір) — це невпорядкована послідовність унікальних елементів.
Послідовність містить значення, розділені комами всередині фігурних дужок { }.
Наприклад:
# Створюємо множину student_id
student_id = {112, 114, 116, 118, 115,116,112}
# Виводимо елементи множини student_id
print(student_id)
# Виводимо тип даних множини student_id
print(type(student_id))
Результат:
{112, 114, 115, 116, 118}
<class 'set'>
Тут ми створили послідовність з ім’ям student_id з 5 цілочисленними значеннями.
Оскільки послідовності є невпорядкованими, їх індексація немає сенсу. Отже,
оператор доступу за індексом [] не працює.
8.
8
Словник (dict) вPython
Словник — це впорядкований набір елементів. Він зберігає елементи в парах ключ-
значення. Ключі — це унікальні ідентифікатори, пов’язані зі значеннями.
Наприклад:
# Створюємо словник capital_city
capital_city = {'Ukraine': 'Kyiv', 'Spain': 'Madrid', 'Japan': 'Tokio'}
print(capital_city)
Результат:
{'Ukraine': 'Kyiv', 'Spain': 'Madrid', 'Japan': 'Tokio'}
Тут ми створили словник capital_city, у якому:
ключі: 'Ukraine', 'Spain', 'Japan'.
значення: 'Kyiv', 'Madrid', 'Tokio'.
Ключі використовуються для доступу до значень. Навпаки не працює.
Наприклад:
# Створюємо словник capital_city
capital_city = {'Ukraine': 'Kyiv', 'Spain': 'Madrid', 'Japan': 'Tokio'}
print(capital_city['Ukraine']) # виведе Kyiv
print(capital_city['Kyiv']) # викличе помилку
Тут ми використовуємо ключі зі словника capital_city для доступу до значень.
Оскільки 'Ukraine' є ключем, то capital_city['Ukraine'] відкриває нам доступ до
відповідного значення, тобто 'Kyiv'.
Однак 'Kyiv' є значенням для ключа 'Ukraine', тому capital_city['Kyiv'] викличе
помилку.
9.
9
Перетворення (приведення) типівданих в Python
Перетворення (приведення) типів у програмуванні — це процес конвертації даних
з одного типу в інший (наприклад, перетворення змінної з типу int в тип float).
У Python є два способи перетворення типів: неявне та явне.
Неявне перетворення — автоматична конвертація типів даних інтерпретатором
Python.
Наприклад,:
integer_number = 144
float_number = 1.44
sum = integer_number + float_number
# Виводимо нове значення та його тип даних
print("Value:",sum)
print("Data Type:",type(sum))
Результат:
Value: 145.44
Data Type: <class 'float'>
Тут ми створили дві змінні: integer_number типу int та float_number типу float. Потім
ми додали ці дві змінні та зберегли результат у змінній sum. Як ви можете бачити,
sum має значення 124.23 та тип даних float.
Python завжди перетворює менші типи даних в більші типи даних, щоб
уникнути втрати даних.
Примітка: Ми отримаємо помилку TypeError, якщо спробуємо додати значення
типів str і int, наприклад, '12' + 23. Python не може використовувати неявне
перетворення у подібних ситуаціях. І тому існує явне перетворення.
10.
10
Явне перетворення— ручна конвертація типів даних програмістом за допомогою
конкретних функцій у Python.
Для явного перетворення типів використовуються такі вбудовані функції, як int(), float(),
str() та ін.
Цей тип перетворення також називається приведенням типів, оскільки користувач
приводить (змінює) тип даних об’єктів.
Приклад додавання рядка та цілого числа з використанням явного перетворення:
num_string = '14'
num_integer = 25
print("Data type of um_string before Type Casting:",type(num_string))
# Явне перетворення типів
num_string = int(num_string)
print("Data type of num_string after Type Casting:",type(num_string))
num_sum = num_integer + num_string
print("Sum:",num_sum)
print("Data type of num_sum:",type(num_sum))
Результат:
Data type of um_string before Type Casting: <class 'str'>
Data type of num_string after Type Casting: <class 'int'>
Sum: 39
Data type of num_sum: <class 'int'>
Тут ми використали функцію int() для виконання явного перетворення змінної num_string
у цілочисельний тип int. Після цього Python може додати ці дві змінні — ми отримали
значення 35 і помістили його в змінну num_sum типу int, яку потім вивели на екран.
11.
11
Оператори в Python
Оператори — це спеціальні символи, які виконують операції над змінними та
значеннями.
Арифметичні оператори використовуються для виконання математичних
операцій:
13
Оператори присвоювання вPython
Оператори присвоювання використовуються для присвоювання значень змінним
Наприклад:
a = 12
b = 7
# Присвоюємо суму a + b змінній a
a += b # a = a + b
print(a)
Результат:
19
14.
14
Модуль random вPython
В Python модуль random використовується для генерації випадкових чисел або вибору
випадкового елемента з ітератора. https://docs.python.org/uk/3.13/library/random.html
Для створення рандомних чисел спочатку потрібно підключити модуль random командою:
import random
Його основні функції:
random(): генерує випадкове число від 0.0 до 1.0
randint(): повертає випадкове число з певного діапазону
randrange(): повертає випадкове число з певного набору чисел
Функція random() повертає випадкове число з плаваючою точкою в проміжку від 0.0 до 1.0.:
import random
number = random.random() # значення від 0.0 до 1.0
print(number)
Функція randint(min, max) повертає випадкове ціле число в проміжку між двома значеннями min
і max.
import random
number = random.randint(20, 35) # значення від 20 до 35
print(number)
Функція randrange() повертає випадкове ціле число з певного набору чисел. Вона має три форми:
randrange(stop): набір чисел являє діапазон від 0 до числа stop
randrange(start, stop): набір чисел являє діапазон від числа start до числа stop
randrange(start, stop, step): набір чисел являє діапазон від числа start до числа stop з кроком step
import random
number = random.randrange(10) # значення від 0 до 10
print(number)
number = random.randrange(2, 10) # значення в діапазоні 2, 3, 4, 5, 6, 7, 8, 9, 10
print(number)
number = random.randrange(2, 10, 2) # значення в діапазоні 2, 4, 6, 8, 10
print(number)
15.
15
Модуль math вPython
Python пропонує модуль math для виконання різних математичних операцій,
включаючи тригонометрію, ймовірність та статистику, роботу з логарифмами тощо.
Модуль math є стандартним модулем в Python і завжди доступний. Всі функції
модуля math : https://docs.python.org/uk/3.13/library/math.html
Щоб використовувати математичні функції цього модуля, необхідно імпортувати
модуль за допомогою команди
import math.
Наприклад:
# Обчислення квадратного кореня
import math
math.sqrt(4)
Цей модуль не підтримує використання типу даних complex. Модуль cmath (
https://docs.python.org/uk/3.13/library/cmath.html) є аналогом модуля math, але вже
з підтримкою типу complex.
Наприклад:
20
Оператори порівняння вPython
Оператори порівняння порівнюють два значення/змінні та повертають
логічний результат: True (істина) або False (хибність).
21.
21
Приклад використанняоператорів порівняння у Python:
a = 4
b = 1
# Оператор Дорівнює
print('a == b =', a == b)
# Оператор Не дорівнює
print('a != b =', a != b)
# Оператор Більше ніж
print('a > b =', a > b)
# Оператор Менше ніж
print('a < b =', a < b)
# Оператор Більше або Дорівнює
print('a >= b =', a >= b)
# Оператор Менше або Дорівнює
print('a <= b =', a <= b)
Результат:
a == b = False
a != b = True
a > b = True
a < b = False
a >= b = True
a <= b = False
22.
22
Логічні оператори вPython
Логічні оператори виконуються над логічними операндами та повертають логічний
результат: True або False. Також вони використовуються в умовах та циклах.
# Логічне І
print(True and True) # True
print(True and False) # False
# Логічне АБО
print(True or False) # True
# Логічне НЕ
print(not True) # False
23.
23
Побітові оператори вPython
Побітові оператори працюють з операндами, ніби вони є наборами двійкових
цифр. Вони працюють з бітами, звідси й назва. Наприклад, десяткове 2 — це бінарне
10, а десяткове 7 — це бінарне 111.
Бітовий (порозрядний) оператор в програмуванні - операцор над ланцюжками бітів, як правило в цей
клас включаються логічні побітові операції і бітові зсуви. Застосовуються в цифровій техніці.
Логічні побітові операції:
24.
24
Операції побітовогозсуву >> і << виконують зсув бітів лівого операнда на кількість
розрядів, зазначену правим операндом, відповідно праворуч чи ліворуч. Значення бітів,
яких бракує, доповнюються нулями. При виконанні операції зсуву можуть втрачатися
старші чи молодші розряди.
Приклад. У нижченаведеній таблиці нехай x = 10 (0000 1010 у двійковому форматі) та
y = 4 (0000 0100 у двійковому форматі).
25.
25
Пріоритет операторів уPython
Порядок пріоритету описано в таблиці нижче, починаючи з найвищого
пріоритету вгорі:
26.
26
Приклад 1:Складемо логічний вираз, який дорівнюватиме True в разі потрапляння точки з
введеними координатами X,Y в область першого квадранта сектора кола радіуса R, і False в
іншому випадку:
example4_log.py
R=4
x=float(input('Input x= '))
y=float(input('Input y= '))
print(x,y)
rez=x>=0 and y>=0 and x>=y and x**2+y**2<=R**2
print (rez)
Приклад 2: Складемо логічний вираз, який дорівнюватиме True в разі потрапляння точки з
введеною координатою X в заштриховану область, і False в іншому випадку:
A=1
B=15
C=5
D=10
x=float(input('Input x= '))
print(x)
rez2=x>=A and x<=B and not(x>=C and x<=D)
rez3=x>=A and x<=C or x>=D and x<=B
print (rez2,rez3)
27.
27
Спеціальні оператори вPython
Python пропонує такі спеціальні оператори, як оператори тотожності та оператори
належності.
Оператори тотожності в Python
В Python оператори is та is not використовуються для перевірки того, чи знаходяться два
об’єкти в одній і тій же частині пам’яті. Дві однакові за значеннями змінні не завжди є
ідентичними.
Наприклад:
x1 = 4
y1 = 4
x2 = 'Hello'
y2 = 'Hello'
x3 = [1,2,3]
y3 = [1,2,3]
print(x1 is not y1) # виведе False
print(x2 is y2) # виведе True
print(x3 is y3) # виведе False
Тут x1 та y1 — це цілочисельні змінні з однаковими значеннями, тому вони рівні та
ідентичні. Те ж саме і з x2 та y2 (рядками).
Але x3 та y3 — це списки. Вони рівні, але не ідентичні. Це тому, що інтерпретатор
розміщує їх у пам’яті окремо, хоч вони й мають однакові значення.
28.
28
Оператори належностів Python
У Python оператори in та not in є операторами належності. Вони використовуються для
перевірки того, чи знаходиться значення або змінна в послідовності (рядок, список,
кортеж, набір або словник).
В словнику ми можемо перевірити лише наявність ключа, але не значення.
Наприклад:
x = 'Hello world'
y = {1:'a', 2:'b'}
# Перевіряємо, чи знаходиться 'H' у рядку x
print('H' in x) # виведе True
# Перевіряємо, чи знаходиться 'hello' у рядку x
print('hello' not in x) # виведе Tru
# Перевіряємо, чи є ключ '1' у словнику y
print(1 in y) # виведе True
# Перевіряємо, чи є ключ 'a' у словнику y
print('a' in y) # виведе False
Тут 'H' знаходиться в рядку x, але 'hello' відсутній у рядку x (пам’ятайте, що Python
чутливий до регістру).
Так само 1 — це ключ, а 'a' — це значення в словнику y. Отже, 'a' in y повертає False.