1. Вступ до Python
Python — це інтерпретована,
інтерактивна,
об’єктно-орієнтована та
кросплатформна високорівнева мова
програмування загального призначення
з динамічною суворою типізацією та
автоматичним управлінням пам’яттю,
орієнтована на підвищення продуктивності
розробника, читабельність коду.
Мова Python була створена співробітником
голландського інституту CWI Гвідо ван
Россумом у 1991 році.
2. Переваги Python
Відкритий вихідний код та безкоштовне використання. Усі релізи Python доступні безкоштовно.
Python можна навіть модифікувати та розповсюджувати безкоштовно. Це значно знижує витрати
на розробку.
Легко вчити. У Python мало ключових слів, проста структура та чітко визначений синтаксис. Це
дозволяє швидко вивчати мову.
Легко читати. Код Python простий та лаконічний, що робить його більш читабельним ніж код
інших мов програмування.
Велика стандартна бібліотека. Велика частина бібліотеки Python легко портується і є
кросплатформною, сумісна з Unix, Windows та macOS.
Інтерактивний режим. Python підтримує інтерактивний режим, який дозволяє інтерактивно
тестувати та відлагоджувати фрагменти коду.
Портування. Python може працювати на різних апаратних платформах і має однаковий
інтерфейс на всіх платформах.
GUI-програмування. Python підтримує програми з графічним інтерфейсом, які можна створювати
та переносити у велику кількість системних викликів, бібліотек та віконних систем, таких як
Windows MFC, Macintosh і X Window System в Unix.
Універсальність. Python — це гнучка мова загального призначення, яка повністю підтримує як
процедурне, так і об’єктно-орієнтоване програмування. Завдяки вбудованим та стороннім пакетам
підходить для виконання широкого спектра завдань.
Автоматичне виділення пам’яті. Python не має вказівників, і розробникам не потрібно виділяти
вільне місце у пам’яті. Python автоматично виділяє пам’ять, а збирач сміття “перероблює” пам’ять
із відкинутих об’єктів. Це означає, що розробникам не потрібно турбуватися про витоки пам’яті,
некоректні посилання чи вказівники та розмір кожного об’єкта.
Доступність сторонніх бібліотек. На додаток до великої вбудованої (стандартної) бібліотеки
Python розробники мають доступ до багатьох безкоштовних зовнішніх бібліотек. Ці сторонні
бібліотеки легко імпортувати та встановлювати за допомогою репозиторію PyPI (скор. від “Python
Package Index”). Також розробники можуть публікувати власні пакети.
Велика спільнота та велика популярність. Python є однією з найпопулярніших мов
програмування. Він має велику та активну спільноту користувачів. Легко знаходити навчальні
матеріали та інші ресурси, задавати питання, шукати роботу.
3. Недоліки Python
Не дуже швидкий. Python повільніший, ніж мови C і Java. Python — це
інтерпретована мова з динамічною типізацією, тому він повинен постійно
перевіряти тип кожної змінної. Це означає, що Python є не найкращим вибором для
випадків, де критично важлива швидкість.
Інтенсивне використання пам’яті. Python не оптимізовано для зменшення
використання пам’яті. Він може використовувати вдесятеро більше оперативної
пам’яті, ніж програма, написана економнішою мовою програмування. Однак це
частково компроміс в обмін на гнучкість та простоту використання. Крім того,
збирач сміття Python не може відразу зібрати всі “викинуті” ресурси, що зменшує
обсяг доступної пам’яті. Python — не найкращий вибір для випадків з обмеженою
пам’яттю.
Складніше уникнути помилок часу виконання (runtime errors). Python не
компілюється до часу виконання та має динамічну типізацію. Тому багато проблем,
які могли б бути виявлені компілятором, не з’являться до тих пір, поки програма не
запуститься. Це може бути щось просте, наприклад, синтаксична помилка, або щось
складніше, наприклад, спроба виконати операцію додавання цілого числа до рядка.
Взаємодія з базами даних. Працювати з базами даних у Python складніше. Це не
найкращий вибір для програм, які мають складні взаємодії з великою
корпоративною базою даних.
4. Data Science.
Розробка десктопних програм.
Розробка консольних програм.
Розробка мобільних додатків.
Розробка корпоративних додатків.
Розробка веб-додатків.
Розробка ПЗ.
Штучний інтелект (AI).
Машинне навчання (ML).
Програми для обробки зображень.
Розпізнавання мови.
Популярні бібліотеки Python
Веб-розробка (Backend) — Django, Flask, Pyramid, CherryPy.
Розробка програм з графічним інтерфейсом — Tk, PyGTK, PyQt, PyJs та
ін.
Машинне навчання — TensorFlow, PyTorch, Scikit-learn, Matplotlib, Scipy
та ін.
Аналіз даних — Numpy, Pandas та ін.
Де використовується Python?
5. Встановлення Python
Крок №1: Завантажити останню версію Python
(https://www.python.org/downloads/).
Крок №2: Запустити інсталятор і
дотримуватися інструкцій зі встановлення Python.
Для Windows потрібно буде поставити галочку
біля пункту "Add Python to environment variables“
або пункту "Add Python to PATH". Це додасть
Python до змінних оточення (або “змінних
середовища”), завдяки чому можна запускати
Python прямо з командного рядка.
Також можна вказати шлях, де саме потрібно
встановити Python.
Крок №3: Після завершення процесу
встановлення можна запустити Python.
Правило написання коду програм на Python:
всі рядки лінійних алгоритмів повинні починатися з нульового
стовпчика;
для розгалужених та циклічних алгоритмів повинні бути рівні
відступи за змістом вкладеності.
6. Запуск Python в IDLE
При встановленні Python також встановлюється IDLE (Integrated Development
and Learning Environment) - інтегроване середовище розробки та навчання
Python, яке можна використовувати для запуску Python на комп’ютері.
При відкритті IDLE з’явиться інтерактивна оболонка Python Shell:
Тепер можна створити новий файл та зберегти його з розширенням .py (наприклад,
prog01.py).
Потім напишіть Python-код та збережіть файл.
Для запуску програми слід вибрати Run -> Run Module або просто натиснути F5.
7. Ключові слова в Python
Ключові слова — це зарезервовані слова, що використовуються в Python та мають
особливе значення для компілятора. Ключові слова не можна використовувати
як імена змінних, функцій та будь-яких інших ідентифікаторів. Вони
використовуються для визначення синтаксису та структури мови Python. Усі
ключові слова, крім True, False та None, пишуться малими літерами (нижній регістр).
8. Ідентифікатори в Python
Ідентифікатори — це імена змінних, класів, методів тощо. Наприклад:
language = 'Python'
Тут language — це змінна (ідентифікатор), що містить значення 'Python'.
Ми не можемо використовувати ключові слова як імена змінних, оскільки це
зарезервовані слова, вбудовані в Python. Наприклад:
continue = 'Python'
Цей код призведе до помилки, тому що continue є ключовим словом, яке не можна
використовувати як ім’я змінної.
Правила іменування ідентифікаторів
Ключові слова не можуть бути ідентифікаторами.
Ідентифікатори чутливі до регістру.
Ідентифікатори можуть складатися з літер та цифр. Однак ідентифікатор повинен
починатися або з літери, або з _ (нижнє підкреслення). Ідентифікатор не може
починатися з цифри.
Прийнято починати ідентифікатор з літери
, а не з _.
Пробіли не допускаються.
Не можна використовувати спеціальні
символи, такі як !, @, #, $ та ін.
Приклади допустимих та неприпустимих
ідентифікаторів у Python:
9. Коментарі в Python
Коментарі — це описи коду, які допомагають усім, хто читає, краще зрозуміти, що і
навіщо робить код. Коментарі повністю ігноруються (тобто не виконуються)
інтерпретаторами та призначені для колег-програмістів. Наприклад:
У Python є 2 типи коментарів: однорядкові коментарі; багаторядкові коментарі.
Однорядкові коментарі в Python
Однорядковий коментар починається та закінчується на одному рядку. Символ #
використовується для написання однорядкового коментаря. Наприклад:
# Створюємо змінну
num1= 7
# Виводимо значення змінної на екран
print(num1 )
Або однорядковий коментар у рядку разом із кодом:
num1= 7 # значенням змінної num1
Багаторядкові коментарі в Python
Використовувати потрійні лапки — ''' або """.
''' Це також є
чудовим прикладом
багаторядкових коментарів ''‘
Користь від коментарів у Python:
#1. Роблять код зрозумілішим.
#2. Допомагають під час відлагодження коду.
10. Змінні, Константи та Літерали в Python
Змінна — це об’єкт (область) для зберігання даних. Python не має команди для
оголошення змінної. Змінна створюється в той момент, коли ви вперше присвоюєте їй
значення.
Оператор присвоювання = використовується для присвоювання значень змінним.
Наприклад:
number = 10
# Присвоюємо значення змінній site_name
site_name = ' kpi.kharkov.ua '
print(site_name)
Примітка: Python — це мова з автоматичним визначенням типів, тому не потрібно
явно вказувати тип змінної. Інтерпретатор автоматично розуміє, що kpi.kharkov.ua є
рядком, тому надає змінній site_name тип string.
Присвоюємо декілька значень декільком змінних.
a, b, c = 5, 3.2, 'Hello'
print(a) # виведе 5
print(b) # виведе 3.2
print(c) # виведе Hello
Присвоюємо одне і те ж саме значення відразу декільком змінним
site1 = site2 = ' kpi.kharkov.ua '
print(site1) # виведе kpi.kharkov.ua
print(site2) # виведе kpi.kharkov.ua
Переприсвоєння типів змінних:
a=7
print(a) # виведе 7
a=site_name
print(a) # виведе kpi.kharkov.ua
11. Константа — це особливий тип змінної, значення якої не можна змінити. У Python
константи зазвичай оголошуються/визначаються в модулі (окремий файл, що
містить змінні, функції та інше, який імпортується в основний файл).
Приклад оголошення констант в окремому файлі та їх використання в основному
файлі.
Створюємо файл constant.py:
# Ініціалізуємо константи
PI = 3.14
GRAVITY = 9.8
Створюємо файл main.py:
# Імпортуємо файл із константами, який створили вище
import constant
print(constant.PI) # виведе 3.14
print(constant.GRAVITY) # виведе 9.8
Тут ми створили модуль constant.py, в якому визначили 2 глобальні змінні: PI та
GRAVITY. Після цього ми створили файл main.py та імпортували модуль із
константами. Потім вивели значення констант на екран.
Примітка: Насправді ми не використовували константи в Python. Великі літери в
іменах змінних є способом відокремити їх (константи) від звичайних змінних, проте
це ніяк не запобігає їх зміні (переприсвоюванні) в майбутньому.
12. Літерали — це представлення фіксованих значень у програмі. Це можуть бути числа,
символи, рядки тощо, наприклад, 'Hello, World!', 12, 23.0, 'C'.
Літерали часто використовуються для присвоювання значень змінним чи константам.
Наприклад:
site_name = ' kpi.kharkov.ua '
Тут site_name — це змінна, а ' kpi.kharkov.ua ' — літерал.
Числові літерали є незмінними:
Логічні літерали
Є два логічні літерали: True і False. Наприклад:
decision = True
Тут True — це логічний літерал,
який присвоєно змінній decision.
Рядкові та символьні літерали
Символьні літерали — це
Unicode-символи, поміщені в лапки.
Наприклад:
some_character = 'S'
Тут S — це символьний літерал, який присвоєно змінній some_character.
Так само рядкові літерали є послідовністю символів, поміщених в лапки. Наприклад:
some_string = 'Python is fun'
Тут 'Python is fun' — це рядковий літерал, присвоєний змінній some_string.
Спеціальні літерали
Python містить один спеціальний літерал None, який використовується для вказівки null-
змінної. Наприклад:
value = None
print(value) # виведе None
13. Ввід та вивід даних у Python
Вивід у Python
В Python функція print() використовується для виводу даних.
Синтаксис функції print():
print(*objects, sep=' ', end='n', file=sys.stdout, flush=False)
Функція print() може мати 5 параметрів:
objects — об’єкти для виводу. Символ * означає, що може бути декілька об’єктів;
sep (від “separator”, необов’язково) — розділювач значень для виводу. За
замовчуванням використовується пробіл ' ';
end (необов’язково) — дозволяє додавати спеціальні значення, наприклад, новий
рядок 'n' або відступ 't';
file (необов’язково) — дозволяє вказати місце для виводу даних. За замовчуванням
використовується значення sys.stdout (екран);
flush (необов’язково) — логічне значення, що вказує, чи скидається вивід, чи
буферизується. За замовчуванням використовується значення False.
Приклад №1: Функція print() з одним параметром
print('NTU KhPI ')
print(' MIT-1225 ')
n=7
print(n)
Тут функція print() має лише один параметр — об’єкт для виводу. Оскільки параметр
end не вказано, то використовується значення за замовчуванням 'n‘ .
14. Приклад №2: Функція print() з параметром end
print('NTU KhPI ', end= ' ')
print(' MIT-1225 ')
Приклад №3: Функція print() з параметром sep
print('NTU KhPI', 'MIT-1225', sep= '. ')
Приклад №4: Вивід змінних та літералів у Python
x=3
y=5.
print('x=',x,'y=', y, 1024)
Приклад №5: Вивід з’єднаних рядків
print('NTU KhPI '+' MIT-1225 ')
Тут оператор + з’єднує два рядки.
Приклад №6: Вивід форматованого тексту
# форматоване виведення як в С++
print('x=%d=0X%X=%s y=%7.2f ' %(x,x,bin(x),y))
# форматоване виведення з використанням методу str.format().
print('x={:d}=0x{:X}={:s} y={:7.2f}'.format(x,x,bin(x),y))
15. Ввід у Python
В Python функція input() використовується для отримання користувацького вводу.
Синтаксис функції input():
input(prompt)
Тут prompt — це необов’язковий рядок (підказка), який відображається на екрані.
Функція повертає рядок.
# Використовуємо функцію input() для отримання користувацького вводу
num = input('Enter a number: ')
print('You Entered:', num)
print('Data type of num:', type(num))
Результат:
Enter a number: 15
You Entered: 15
Data type of num: <class 'str'>
Тут ми використовували функцію input() для отримання користувацького вводу та
збереження його в змінній num.
Важливо зазначити, що користувацьке значення 10 є рядком, а не числом. Отже,
type(num) повертає <class 'str'>.
Щоб перетворити дані користувача в число, можна використати функції int() або
float() наступним чином:
num = int(input('Enter a number: '))
Тут тип даних користувацького вводу конвертується з рядка в ціле число.