## ++Тема 1++<br>Основи мови програмування Python
(c) Яценко Р.М. (ХНЕУ ім. С. Кузнеця), 2019-2024
----
### Контакти
Лектор
: доц. Яценко Роман Миколайович \
Кафедра економічної кібернетики і системного аналізу \
Директор навчально-наукового інституту інформаційних технологій \
ХНЕУ ім. С. Кузнеца, лекційний корпус \
<Roman.Yatsenko@hneu.net>\
https://t.me/YaRo_Kharkiv
----
### Презентація

https://bit.ly/38LXg30
---
## 1. Історія мови програмування Python
----
### Знайомство з Python
**Python** -- інтерпретована об'єктно-орієнтована мова програмування високого рівня зі строгою динамічною типізацією
- Автор -- *Гвідо ван Россум (Guido van Rossum)*
- Перший реліз системи (версія 0.9) вийшов в *1991 році*
- На Python можна швидко написати невеликий проект, а взагалі він застосовується до проектів будь-якого масштабу, в тому числі комерційних застосунків і програм
----
### Символи Python
Мова була названа в честь англійського колективу комічних акторів «Монті Пайтон» (Monty Python)
Офіційним символом мови стала змійка пітон

----
### Версії Python
| Номер версії | Дата виходу |
| ------------ | ----------- |
| 0.9 | 20.02.1991 |
| 1.0 | 26.01.1994 |
| 2.0 | 16.10.2000 |
| *3.0* | 03.12.2008 |
| 3.12 | 02.10.2023 |
----
### Рейтинг мов програмування <br>TIOBE 2023

---
## 2. Переваги Python
----
### Python простий у використанні
Базова мета будь-якої мови програмування -- побудувати «місток» між мозком програміста і комп'ютером
----
- Створення програм на Python настільки нехитрий процес, що про нього інколи кажуть як про «програмування зі швидкістю думки»
- З точки зору професійного програміста, легкість Python -- запорука високої продуктивності праці: *програми на Python короткі і вимагають менше часу на розробку*, ніж програми на багатьох інших популярних мовах
----
### Python -- потужна мова
- Python має *всі можливостями, яких слід очікувати від сучасної мови програмування*.
- Ви навчитеся користуватися різноманітними структурами даних і писати програми з графічним інтерфейсом та веб-додатки
----
- Завдяки своїй потужності Python приваблює розробників з усього світу. Ним користуються найбільші компанії: Google, IВМ, Industrial Light + Magic, Microsoft, NASA, Red Hat, Verizon, Xerox і Yahoo!
- Професійні розробники ігор також застосовують Python. Electronic Arts, 2К Games і Disney Interactive Media Group -- всі ці компанії публікують гри з кодом на Python
----
### Python -- об'єктно-орієнтована мова
- *Об'єктно-орієнтоване програмування* (ООП) -- сучасний підхід до вирішення завдань за допомогою комп'ютерів. В рамках ООП власна інформація програми і команди, які вона передає комп'ютеру, записуються інтуїтивно зрозумілим чином
- В Python ООП-прийомами користуватися не обов'язково
----
### Python -- мова, що з'єднує
- *Python легко інтегрувати з іншими мовами*, наприклад С#, С++ або Jаvа.
- Таким чином, програміст на Python може користуватися розробками, вже наявними на інших мовах, і перетворювати на свою користь сильні сторони цих мов (скажімо, швидкодія С++), не поступаючись простотою розробки -- відмінною рисою Python
----
### Python працює на всіх платформах
*Програми на Python незалежні від платформи*, тобто неважливо, якою операційною системою користувався розробник програми: код може бути виконаний на будь-якому комп'ютері з встановленим інтерпретатором Python
----
### Python -- безкоштовна система з відкритим вихідним кодом
- *Інтерпретатор Python безкоштовний*. Щоб встановити його і користуватися ним, не треба платити ні копійки
- Дотримання концепції відкритого вихідного коду -- одна з багатьох особливостей, які роблять Python настільки популярним і успішним
---
## 3. Основні елементи мови Python
----
### Алфавіт мови програмування Python
- великі та малі літери англ. алфавіту `А-Z, a-z`
- цифри `від 0 до 9`
- символ підкреслення `_`
- символи, що не відображаються -- `пробіл, табуляція, перехід на новий рядок`
- спеціальні символи
`# / \ + - *% = <> & | ^ ~! () [] {},:. ; @ ' "`
----
### Інші символи
- Решту символів (в тому числі кирилицю) не прийнято використовувати для побудови команд програми
- Вони можуть використовуватися в строкових константах, а також в коментарях
----
### Ключові слова
Мають строго визначене призначення, яке не може бути змінено. Тому їх використання в мові Python не за призначенням не допускається
----
### Список ключових слів
**False None True and as assert break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield**
----
### Об'єкти даних
- Вся інформація, що зберігається в пам'яті комп'ютера, складається з *об'єктів даних*, які мають форму чисел, символів, текстів і т.д.
- Кожен такий об'єкт даних повинен бути позначений унікальним ім'ям -- *ідентифікатором*
----
### Ідентифікатор
Ідентифікатор
: це ім'я програмного об'єкта даних: змінної, константи, модуля, функції, класу і т.д.
----
### Правила ідентифікаторів
1. Перший символ може бути будь-який алфавітний символ ASCII, символ нижнього підкреслення
2. Далі в ідентифікаторі можна використовувати як алфавітні, так і числові символи, за винятком пробілу
3. В якості ідентифікатору не можна використовувати ключові слова
4. Не можна використовувати два поспіль символу нижнього підкреслення на початку і в кінці ідентифікатора
----
### Регістр символів
Ідентифікатори чутливі до регістру, тому це п'ять різних ідентифікаторів
`TAXRATE Taxrate TaxRate taxRate taxrate`
----
### Правильні ідентифікатори
- `my_variable`
- `myVariable`
- `stop`
- `Upr_12_1_2_3_`
<p><i>Ідентифікатор має бути змістовним!</i> <!-- .element: class="fragment" data-fragment-index="1" --></p>
----
### Неправильні ідентифікатори
- `MyVariable#`
<span>містить неприпустимий символ <code>#</code></span><!-- .element: class="fragment" data-fragment-index="1" -->
- `my-variable`
<span>містить неприпустимий символ <code>-</code></span><!-- .element: class="fragment" data-fragment-index="2" -->
- `1_2_3_`
<span>починається з цифри</span><!-- .element: class="fragment" data-fragment-index="3" -->
----
### Коментарі в Python
Рядки коментарів починаються з символу `#`
Коментарі ігноруються інтерпретатором
```python
# Текст програми говорить про те, як,
# а коментарі повинні пояснювати, чому
```
----
### PEP 8
- [PEP 8](https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html) описує правила стилю та створений на основі рекомендацій Гуїдо ван Россума:
> Код читається набагато більше разів, ніж пишеться. Власне, рекомендації про стиль написання коду спрямовані на те, щоб поліпшити читабельність коду і зробити його узгодженим між великим числом проектів
---
## 4. Структура програми
----
### Текст програми
- Програма на Python -- це послідовність команд для введення даних, обчислень і інших операцій з даними та виведення результатів
- Прості команди (оператори) прийнято записувати по одному оператору на рядок. У складених операторах велику роль відіграють пробіли на початку рядка (відступи)
----
### Приклад програми
```python
# Привіт, Світ (Що?)
# Максим Скворцов (Хто?)
# 12.09.2023 (Коли?)
print("Hello, World!")
```
----
### Редактор
- Програма на Python створюється як текстовий файл з розширенням `.py` (наприклад,` my_program.py`)
- Використання *інтегрованих середовищ розробки* (IDE) забезпечує підсвічування синтаксису і виділення особливостей структури програми, а також спрощує пошук помилок в написанні команд. Ми будемо використовувати **Visual Studio Code**
---
## 5. The Zen of Python
----
### Команда `import this`
1. Гарне краще за потворне.
2. Явне краще за неявне.
3. Просте краще за складне.
4. Складне краще за заплутане.
5. Плоске краще за вкладене.
6. Розріджене краще за щільне.
7. Легкість читання має значення.
8. Особливі випадки не є настільки особливими, щоб порушувати правила.
9. Хоча практичність є важливішою за бездоганність.
----
10. Помилки ніколи не повинні проходити непомітно.
11. Якщо їх приховування не прописано явно.
12. Зустрівши неоднозначність, опирайтесь спокусі вгадати.
13. Має бути один — і, бажано, _тільки_ один — очевидний спосіб зробити це.
14. Хоча спочатку він може бути й не очевидним, якщо ви не голландець.
15. Зараз — краще, ніж ніколи.
16. Хоча ніколи, найчастіше, — краще, ніж _просто_ зараз.
----
17. Якщо реалізацію важко пояснити — задум поганий.
18. Якщо реалізацію легко пояснити — _можливо_, задум добрий.
19. Простори імен — чудова річ, тож робімо їх більше!
---
## Зміст
1. [Історія мови програмування Python](#/1)
2. [Переваги Python](#/2)
3. [Основні елементи мови Python](#/3)
4. [Структура програми](#/4)
5. [The Zen of Python](#/5)
(c) Яценко Р.М. (ХНЕУ ім. С. Кузнеця), 2019-2024
{"title":"Тема 1. Основи мови програмування Python","tags":"Python","type":"slide","slideOptions":{"allottedMinutes":75,"theme":"beige","slideNumber":"c","spotlight":{"enabled":true}}}