Вступ до Python Python — це інтерпретована, інтерактивна, об’єктно-орієнтована та кросплатформна високорівнева мова програмування загального призначення з динамічною суворою типізацією та автоматичним управлінням пам’яттю, орієнтована на підвищення продуктивності розробника, читабельність коду. Мова Python була створена співробітником голландського інституту CWI Гвідо ван Россумом у 1991 році .
Переваги 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 ( скор. від “ Py thon P ackage I ndex” ). Також розробники можуть публікувати власні пакети. Велика спільнота та велика популярність . Python є однією з найпопулярніших мов програмування. Він має велику та активну спільноту користувачів. Легко знаходити навчальні матеріали та інші ресурси, задавати питання, шукати роботу.
Недоліки Python Не дуже швидкий . Python повільніший, ніж мови C і Java . Python — це інтерпретована мова з динамічною типізацією, тому він повинен постійно перевіряти тип кожної змінної. Це означає, що Python є не найкращим вибором для випадків, де критично важлива швидкість. Інтенсивне використання пам’яті . Python не оптимізовано для зменшення використання пам’яті. Він може використовувати вдесятеро більше оперативної пам’яті, ніж програма, написана економнішою мовою програмування. Однак це частково компроміс в обмін на гнучкість та простоту використання. Крім того, збирач сміття Python не може відразу зібрати всі “викинуті” ресурси, що зменшує обсяг доступної пам’яті. Python — не найкращий вибір для випадків з обмеженою пам’яттю. Складніше уникнути помилок часу виконання ( runtime errors ) . Python не компілюється до часу виконання та має динамічну типізацію. Тому багато проблем, які могли б бути виявлені компілятором, не з’являться до тих пір, поки програма не запуститься. Це може бути щось просте, наприклад, синтаксична помилка, або щось складніше, наприклад, спроба виконати операцію додавання цілого числа до рядка. Взаємодія з базами даних . Працювати з базами даних у Python складніше. Це не найкращий вибір для програм, які мають складні взаємодії з великою корпоративною базою даних.
Data Science. Розробка десктопних програм. Розробка консольних програм. Розробка мобільних додатків. Розробка корпоративних додатків. Розробка веб-додатків . Розробка ПЗ. Штучний інтелект ( AI). Машинне навчання ( ML). Програми для обробки зображень. Розпізнавання мови. Популярні бібліотеки Python Веб-розробка ( Backend) — Django , Flask, Pyramid, CherryPy . Розробка програм з графічним інтерфейсом — Tk , PyGTK , PyQt , PyJs та ін. Машинне навчання — TensorFlow , PyTorch , Scikit -learn, Matplotlib , Scipy та ін. Аналіз даних — Numpy , Pandas та ін. Де використовується Python?
Встановлення 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 : всі рядки лінійних алгоритмів повинні починатися з нульового стовпчика; для розгалужених та циклічних алгоритмів повинні бути рівні відступи за змістом вкладеності.
Запуск Python в IDLE При встановленні Python також встановлюється IDLE ( Integrated Development and Learning Environment ) - і нтегроване середовище розробки та навчання Python , яке можна використовувати для запуску Python на комп’ютері. При відкритті IDLE з’явиться інтерактивна оболонка Python Shell : Тепер можна створити новий файл та зберегти його з розширенням . py ( наприклад, prog01.py ). Потім напишіть Python- код та збережіть файл. Для запуску програми слід вибрати Run -> Run Module або просто натиснути F5 .
Ключові слова в Python Ключові слова — це зарезервовані слова, що використовуються в Python та мають особливе значення для компілятора. Ключові слова не можна використовувати як імена змінних, функцій та будь-яких інших ідентифікаторів. Вони використовуються для визначення синтаксису та структури мови Python. Усі ключові слова, крім True, False та None, пишуться малими літерами (нижній регістр).
Ідентифікатори в Python Ідентифікатори — це імена змінних, класів, методів тощо. Наприклад: language = 'Python' Тут language — це змінна (ідентифікатор), що містить значення ' Python'. Ми не можемо використовувати ключові слова як імена змінних, оскільки це зарезервовані слова, вбудовані в Python. Наприклад: continue = 'Python' Цей код призведе до помилки, тому що continue є ключовим словом, яке не можна використовувати як ім’я змінної. Правила іменування ідентифікаторів Ключові слова не можуть бути ідентифікаторами. Ідентифікатори чутливі до регістру. Ідентифікатори можуть складатися з літер та цифр. Однак ідентифікатор повинен починатися або з літери, або з _ (нижнє підкреслення). Ідентифікатор не може починатися з цифри. Прийнято починати ідентифікатор з літери , а не з _. Пробіли не допускаються. Не можна використовувати спеціальні символи, такі як !, @, #, $ та ін. Приклади допустимих та неприпустимих ідентифікаторів у Python:
Коментарі в Python Коментарі — це описи коду, які допомагають усім, хто читає, краще зрозуміти, що і навіщо робить код. Коментарі повністю ігноруються (тобто не виконуються) інтерпретаторами та призначені для колег-програмістів. Наприклад: У Python є 2 типи коментарів: однорядкові коментарі; багаторядкові коментарі. Однорядкові коментарі в Python Однорядковий коментар починається та закінчується на одному рядку. Символ # використовується для написання однорядкового коментаря. Наприклад: # Створюємо змінну num1 = 7 # Виводимо значення змінної на екран print(num1 ) Або однорядковий коментар у рядку разом із кодом: num1 = 7 # значенням змінної num1 Багаторядкові коментарі в Python Використовувати потрійні лапки — ''' або """ . ''' Це також є чудовим прикладом багаторядкових коментарів ''‘ Користь від коментарів у Python : #1. Роблять код зрозумілішим. #2. Допомагають під час відлагодження коду.
Змінні , Константи та Літерали в 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
Константа — це особливий тип змінної, значення якої не можна змінити. У 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. Великі літери в іменах змінних є способом відокремити їх (константи) від звичайних змінних, проте це ніяк не запобігає їх зміні ( переприсвоюванні ) в майбутньому.
Літерали — це представлення фіксованих значень у програмі. Це можуть бути числа, символи, рядки тощо, наприклад, ' 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
Ввід та вивід даних у Python Вивід у Python В Python функція print () використовується для виводу даних . Синтаксис функції print() : print(*objects, sep=' ', end='\n', file= sys.stdout , flush=False) Функція print() може мати 5 параметрів: objects — об’єкти для виводу . Символ * означає , що може бути декілька об’єктів ; sep ( від “ sep arator” , необов’язково) — розділювач значень для виводу . За замовчуванням використовується пробіл ' '; end ( необов’язково) — дозволяє додавати спеціальні значення, наприклад, новий рядок '\ n' або відступ '\ t'; file ( необов’язково) — дозволяє вказати місце для виводу даних. За замовчуванням використовується значення sys.stdout ( екран); flush ( необов’язково) — логічне значення, що вказує, чи скидається вивід, чи буферизується . За замовчуванням використовується значення False. Приклад №1: Функція print() з одним параметром print('NTU KhPI ') print(' MIT-1225 ') n=7 print(n) Т ут функція print () має лише один параметр — об’єкт для виводу . Оскільки параметр end не вказано , то використовується значення за замовчуванням '\ n ‘ .
Приклад №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))
Ввід у 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: 1 5 You Entered: 1 5 Data type of num: <class ' str '> Тут ми використовували функцію input() для отримання користувацького вводу та збереження його в змінній num. Важливо зазначити, що користувацьке значення 10 є рядком, а не числом. Отже, type(num) повертає < class ' str '>. Щоб перетворити дані користувача в число, можна використати функції int () або float() наступним чином: num = int (input('Enter a number: ')) Тут тип даних користувацького вводу конвертується з рядка в ціле число.