Числові типи даних в Python Числа бувають різними : цілими , дробовими , комплексними : – int (цілі числа ) – додатні і від’ємні цілі числа, а також 0 (наприклад, 4, 687, -45, 0). – float (числа з плаваючою точкою ) – дробові числа ( наприклад , 1.45, -3.789654, 0.00453). Роздільником цілої і дробової частини служить точка. – complex (комплексні числа ) – зберігає пару значень типу float, одне з яких представляє дійсну частину комплексного числа, а інше – уявну (наприклад, 1+2 j, -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'> 3
При форматованому виведенні використовуються наступні основні формати : 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 '> 4
Список ( 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". 5
Кортеж ( 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 6
Множина ( 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 цілочисленними значеннями. Оскільки послідовності є невпорядкованими, їх індексація немає сенсу. Отже, оператор доступу за індексом [] не працює. 7
Словник ( 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'] викличе помилку. 8
Перетворення ( приведення ) типів даних в 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 не може використовувати неявне перетворення у подібних ситуаціях. І тому існує явне перетворення. 9
Явне перетворення — ручна конвертація типів даних програмістом за допомогою конкретних функцій у 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 , яку потім вивели на екран. 10
Оператори в Python Оператори — це спеціальні символи, які виконують операції над змінними та значеннями. Арифметичні оператори використовуються для виконання математичних операцій : 11
Оператори присвоювання в Python Оператори присвоювання використовуються для присвоювання значень змінним Наприклад: a = 12 b = 7 # Присвоюємо суму a + b змінній a a += b # a = a + b print(a) Результат: 19 13
Модуль 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) : набір чисел являє діапазон від до числа 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) 14
Модуль 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. Наприклад: 15
Оператори порівняння в Python Оператори порівняння порівнюють два значення/змінні та повертають логічний результат: True (істина) або False (хибність) . 20
Приклад використання операторів порівняння у 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 21
Логічні оператори в Python Логічні оператори виконуються над логічними операндами та повертають логічний результат: True або False . Також вони використовуються в умовах та циклах. # Логічне І print(True and True) # True print(True and False) # False # Логічне АБО print(True or False) # True # Логічне НЕ print(not True) # False 22
Побітові оператори в Python Побітові оператори працюють з операндами , ніби вони є наборами двійкових цифр . Вони працюють з бітами , звідси й назва. Наприклад, десяткове 2 — це бінарне 10, а десяткове 7 — це бінарне 111. Бітовий (порозрядний) оператор в програмуванні - операцор над ланцюжками бітів, як правило в цей клас включаються логічні побітові операції і бітові зсуви . Застосовуються в цифровій техніці. Логічні побітові операції: 23
Операції побітового зсуву >> і << виконують зсув бітів лівого операнда на кількість розрядів, зазначену правим операндом , відповідно праворуч чи ліворуч. Значення бітів, яких бракує, доповнюються нулями. При виконанні операції зсуву можуть втрачатися старші чи молодші розряди. Приклад. У нижченаведеній таблиці нехай x = 10 (0000 1010 у двійковому форматі ) та y = 4 (0000 0100 у двійковому форматі ). 24
Пріоритет операторів у Python Порядок пріоритету описано в таблиці нижче, починаючи з найвищого пріоритету вгорі: 25
Приклад 1 : Складемо логічний вираз, який дорівнюватиме T rue в разі потрапляння точки з введеними координатами X , Y в область першого квадранта сектора кола радіуса R , і F alse в іншому випадку: 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 : Складемо логічний вираз, який дорівнюватиме T rue в разі потрапляння точки з введеною координатою X в заштриховану область, і F alse в іншому випадку: 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) 26
Спеціальні оператори в 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 — це списки. Вони рівні, але не ідентичні. Це тому, що інтерпретатор розміщує їх у пам’яті окремо, хоч вони й мають однакові значення. 27
Оператори належності в 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. 28