You are on page 1of 71

Основи

програмування
Лектор
Ковалюк Тетяна Володимирівна,
к.т.н.. Доцент
tkovalyuk@ukr.net
Лекція 2
Загальні положення
Історія Python
 Мова програмування Python була створена в 1991 році
голандцем Гвідо ван Россумом.
 Своє ім'я - Python (Пайтон) - отримав від назви телесеріалу
“Monty Python”, а не плазуна.
 Після того, як Россум розробив мову, він виклав її в Інтернет,
де вже ціле співтовариство програмістів приєдналося до її
поліпшення.
 Python активно вдосконалюється і в даний час. Часто
виходять його нові версії.
 Офіційний сайт http://python.org.
 З появою версії 3.0 розвиток Python пішов в двох
напрямках: одночасно розвиваються і 2-га і 3-я версії
Python.

Ковалюк Т.В. Основи програмування: Python / C. 2019 3


Особливості Python
 Python - інтерпретована мова програмування: вихідний код частинами
перетворюється в машинний в процесі виконання спеціальною
програмою - інтерпретатором.
 Python характеризується ясним синтаксисом. Читати код на цій мові
програмування досить легко, тому що в ньому мало допоміжних
елементів, а правила мови змушують програмістів робити відступи.
Зрозуміло, що добре оформлений текст з малою кількістю
відволікаючих елементів читати і розуміти легше.
 Python - це повноцінна мова програмування. Він підтримує 
об'єктно-орієнтоване програмування (насправді Python і розроблявся
як об'єктно-орієнтована мова).
 Також Python поширюється вільно на підставі ліцензії GNU General
Public License.

Ковалюк Т.В. Основи програмування: Python / C. 2019 4


Дзен Python
Якщо інтерпретатору Python дати команду import this (імпортувати "сам об'єкт"),
то виведеться "Дзен Пітона", який ілюструє ідеологію і особливості даної мови..
Фраза Переклад
1. Beautiful is better than ugly. Красиве краще за потворне.
2. Explicit is better than implicit. Просте краще за складне.
4. Complex is better than complicated. Складне краще за ускладнене.
5. Flat is better than nested. Плоске краще ніж вкладене.
6. Sparse is better than dense. Розріджене краще ніж щільне.
7. Readability counts. Читабельність важлива.
8. Special cases aren't special enough to break Виняткові випадки не настільки важливі, щоб
the rules. порушувати правила.
9. Although practicality beats purity. Однак практичність важливіша за чистоту.
10. Errors should never pass silently. Помилки ніколи не повинні замовчуватися.
11. Unless explicitly silenced. За винятком замовчування, яке задано
спеціально.

Ковалюк Т.В. Основи програмування: Python / C. 2019


Дзен Python
Фраза Переклад
12. In the face of ambiguity, refuse the У випадку неоднозначності не піддавайтеся
temptation to guess. спокусі вгадати.
13. There should be one - and preferably only Повинен існувати один - і, бажано, тільки один
one - obvious way to do it. - очевидний спосіб зробити це.
14. Although that way may not be obvious at Хоча він може бути з першого погляду не
first unless you're Dutch. очевидний, якщо ти не голландець.
15. Now is better than never. Зараз краще, ніж ніколи.
16. Although never is often better than Right Проте, ніколи частіше краще, ніж прямо зараз.
now.
17. If the implementation is hard to explain, it's Якщо реалізацію складно пояснити - це погана
a bad idea. ідея.
18. If the implementation is easy to explain, it Якщо реалізацію легко пояснити — це може
may be a good idea. бути хороша ідея.
19. Namespaces are one honking great idea - Простори назв - прекрасна ідея, давайте
Let's do more of those! робити їх більше!

Ковалюк Т.В. Основи програмування: Python / C. 2019


Python 3: переваги мови

1. Python - інтерпретована мова програмування. З одного боку, це дозволяє


значно спростити налагодження програм, з іншого - зумовлює порівняно
низьку швидкість виконання.
2. Динамічна типізація. У python не треба заздалегідь оголошувати тип
змінної, що дуже зручно при розробці.
3. Гарна підтримка модульності. Ви можете легко написати свій модуль і
використовувати його в інших програмах.
4. Вбудована підтримка Unicode в рядках. В Python необов'язково писати
все англійською мовою, в програмах цілком може використовуватися
рідну мову.
5. Підтримка об'єктно-орієнтованого програмування. При цьому його
реалізація в python є однією з найбільш зрозумілих.
6. Автоматичне прибирання сміття, відсутність витоків пам'яті.
7. Інтеграція з C / C ++, якщо можливостей python недостатньо.

Ковалюк Т.В. Основи програмування: Python / C. 2019 7


Python 3: переваги мови
8. Зрозумілий та лаконічний синтаксис, що сприяє ясному відображенню коду.
Зручна система функцій дозволяє при грамотному підході створювати код, в
якому буде легко розібратися іншій людині в разі необхідності.
9. Величезна кількість модулів, як входять в стандартну поставку Python 3, так
і сторонніх. У деяких випадках для написання програми досить лише знайти
підходящі модулі і правильно їх скомбінувати. Таким чином, можна складати
програми на більш високому рівні, працюючи з уже готовими елементами,
що виконують різні дії.
10.Кросплатформеність. Програма, написана на Python, буде функціонувати
однаково незалежно від того, в якій операційній системі вона запущена.
Відмінності виникають лише в рідкісних випадках, і їх легко заздалегідь
передбачити завдяки наявності докладної документації.

Ковалюк Т.В. Основи програмування: Python / C. 2019 8


Python 3: недоліки мови
1. Несумісність версій Python. Програми, написані на Python 3 не
працюватимуть на Python 2 і навпаки
2. Мала швидкість виконання програм. Програми, написані на Python
поступаються за швидкістю виконання програмам, написаним на
С/С++ , Java.

Ковалюк Т.В. Основи програмування: Python / C. 2019 9


Установка Python 3.7 на Windows
1. Зайти на сайт www.python.org

Ковалюк Т.В. Основи програмування: Python / C. 2019 10


Установка Python 3.7 на Windows
2. На сайті www.python.org вибрати меню Downloads і скачати дистрибутив,
який актуальний на поточний момент

Ковалюк Т.В. Основи програмування: Python / C. 2019 11


Установка Python 3.7 на Windows
3. Запустити скачаний файл дистрибутива Python.

Ковалюк Т.В. Основи програмування: Python / C. 2019 12


Установка Python 3.7 на Windows
1. Відмітка прапорця Add
Python to Path дозволить
запускати інтерпретатор
Python з командного
рядка без прописування
повного шляху його місця
розташування на ПК
2. Не бажано робити
автоматичну установку по
команді Install Now, тому
що Python встановиться в
папку, яка часто є
прихованою.
3. Раджу вибрати ручну
установку Customize
Installation

Ковалюк Т.В. Основи програмування: Python / C. 2019 13


Установка Python 3.7 на Windows
Наступне вікно визначає, що
буде встановлено для роботи
з Python:
1. Документація
2. pip — система керування
програмними пакетами,,
які написані на Python.
Багато пакетів можна
знайти в Python Package
Index
3. IDLE – вбудоване
середовище розробки, яке
містить текстовий
редактор з можливістю
запуску програми
4. Стандартна бібліотека
функцій Python
5. Розширення файлів Python
- py

Ковалюк Т.В. Основи програмування: Python / C. 2019 14


Установка Python 3.7 на Windows

Наступне вікно визначає


додаткові опції для роботи з
Python:
1. По кнопці Browse вибрати
диск (С:).
2. Створити потрібну папку
(Python3.7)
3. Натиснути кнопку install
4. Решту опцій не міняти

Ковалюк Т.В. Основи програмування: Python / C. 2019 15


Установка Python 3.7 на Windows

Ковалюк Т.В. Основи програмування: Python / C. 2019 16


Перевірка встановлення Python 3.7

Щоб перевірити правильність установки Python, в командному рядку наберіть команду:


сmd, а потім python.
Отримуєте інформацію про встановлену версію python

Ковалюк Т.В. Основи програмування: Python / C. 2019 17


Текстові редактори та інтегровані
середовища програмування для Python
IDLE - стандартний редактор Python. Встановлюється разом з Python для
користувачів Windows, окремим пакетом ля користувачів Linux.
Notepad++ - безкоштовний текстовий редактор вихідного коду. Лише для
користувачів Windows.
PyScripter - інтегроване середовище розробки для мови програмування Python,
працює під Windows. Поширюється безкоштовно.
Wing IDE 101 - вільне інтегроване середовище для Python, розроблене для
навчання програмістів-початківців. Для користувачів Linux, Windows і MacOS.
Поширюється безкоштовно.
Geany - вільний текстовий редактор з базовими елементами інтегрованого
середовища розробки, доступний для операційних систем Linux, MacOS і
Windows.

Ковалюк Т.В. Основи програмування: Python / C. 2019 18


Текстові редактори та інтегровані
середовища програмування для Python
Sublime Text 3 - кросплатформовий текстовий редактор вихідних текстів програм
та інтегроване середовище розробки. Підтримує плагіни, розроблені за
допомогою мови програмування Python. Sublime Text не є вільним чи відкритим
програмним забезпеченням, але деякі його плагіни розповсюджуються з вільною
ліцензією, розробляються і підтримуються спільнотою розробників. Проте,
редактор можна використовувати вільно, хоча часто з’являється повідомлення
про придбання ліцензії. Для користувачів Windows, MacOS, Linux.
PyCharm — інтегроване середовище розробки для мови програмування Python.
Підтримує веб-розробку на Django. PyCharm є власницьким програмним
забезпеченням. Присутні безкоштовна версія Community з усіченим набором
можливостей і безкоштовна версія Edu для навчальних закладів. PyCharm працює
під операційними системами Windows, MacOS і Linux

Налаштування середовища програмування

http://pythonguide.rozh2sch.org.ua/#appendix%D0%90

Ковалюк Т.В. Основи програмування: Python / C. 2019 19


IDLE Python
 IDLE (Integrated Development and Learning Environment ) - це інтегроване
середовище розробки і навчання на мові Python, створене за допомогою
бібліотеки Tkinter.
 Поставляється разом з Python і завдяки використанню Tkinter може
використовуватися на багатьох платформах, серед яких Windows, Mac OS,
Unix-подібні ОС.
 За допомогою IDLE можна виконувати звичайні для інтегрованого
середовища завдання:
 переглядати,
 редагувати,
 запускати,
 налагоджувати програми на Python.
 Редактор коду використовує підсвічування синтаксису.
 IDLE пропонує додаткові можливості для досвідчених користувачів,
наприклад, засіб перегляду об'єктів.

Ковалюк Т.В. Основи програмування: Python / C. 2019 20


Запуск IDLE Python
Start All programPython 3.7IDLE(Python 3.7 32-bit)

Ковалюк Т.В. Основи програмування: Python / C. 2019 21


Запуск IDLE Python

В меню Пуск (Start) асоційована


з Python іконка:

Start  IDLE(Python 3.7 32-bit)

Ковалюк Т.В. Основи програмування: Python / C. 2019 22


Запуск вбудованих модулів Python
Start All programPython 3.7Python 3.7 Module Docs(32-bit)

http://localhost:4826/

Ковалюк Т.В. Основи програмування: Python / C. 2019 23


Запуск Python документації
Start All programPython 3.7Python 3.7 Manuals(32-bit)

Ковалюк Т.В. Основи програмування: Python / C. 2019 24


Команди меню IDLE Python

Ковалюк Т.В. Основи програмування: Python / C. 2019 25


Команди меню IDLE Python

Ковалюк Т.В. Основи програмування: Python / C. 2019 26


Команди меню IDLE Python

Ковалюк Т.В. Основи програмування: Python / C. 2019 27


Команди меню IDLE Python

Ковалюк Т.В. Основи програмування: Python / C. 2019 28


Команди меню IDLE Python

Ковалюк Т.В. Основи програмування: Python / C. 2019 29


Python як калькулятор
 У режимі інтерактивного інтерпретатора команди вводяться у
термінальному вікні одна за одною і по натисненні клавіші Enter відразу
виконуються з відображенням результату виконання.
 Набрані команди не зберігаються у файлах.
 Виклик режиму інтерпретатора в командному рядку: Пуск cmd ОК
 У термінальному вікні, що з’явилося, введіть команду python у випадку
використання Windows.
 Якщо на екрані з’явиться запрошення >>> можна вводити команди python

Ковалюк Т.В. Основи програмування: Python / C. 2019 30


Варіанти виконання коду в Python

1. Інтерактивний варіант – Консоль Python Shell


2. Файловий варіант

Ковалюк Т.В. Основи програмування: Python / C. 2019 31


Інтерактивний режим – Консоль Python Shell

1. Запуск інтерактивного режиму через меню пуск :Пуск Python3.7 IDLE


(Python 3.7 332bi
або
2. Запуск через командний рядок: Пуск  IDLE <Enter>

Ковалюк Т.В. Основи програмування: Python / C. 2019 32


Інтерактивний режим – Консоль Python Shell
Суть інтерактивного режиму – набрана після запрошення >>> команда, зразу виконується і
видає результат .

Інтерактивний режим
здійснюється через
інтерпретацію
програми завдяки
програмі-
інтерпретатору коду.

Ковалюк Т.В. Основи програмування: Python / C. 2019 33


Інтерактивний режим – Консоль Python Shell
Можна створити змінну та зберігати в ній значення протягом одного сеансу роботи,
звертатися до цієї змінної.
Недолік :
 інструкції не зберігаються,
 повторити їх, не набираючи в консолі їх заново, неможливо.
 після перезавантаження консолі усі змінні знищені

Ковалюк Т.В. Основи програмування: Python / C. 2019 34


Файловий варіант виконання коду на Python
1. Створити новий файл 2. Написати код на Python

3. Запустити програму Python 4. Отримати результат виконання програми на Python

Ковалюк Т.В. Основи програмування: Python / C. 2019 35


Файловий варіант виконання коду на Python
5. Якщо файл програми створений в 6. Знайти потрібний файл
будь-якому текстовому редакторі, то
потрібно його відкрити в Python Shell
: File-> Open

3. Запустити програму Python


8. Запустити на виконання: Run->Run Module
7. Відобразити на екрані вміст
файлу 9. Проаналізувати
результати виконання

Ковалюк Т.В. Основи програмування: Python / C. 2019 36


Файловий варіант виконання коду на Python
Запуск програми в термінальному вікні

1. В текстовому редакторі набрати код


2. Зберігти код у файлі з розширення .ру
3. В командному рядку запустити Python і вказати специфікацію файла .ру

Неправильна
специфікація файлу

Правильна
специфікація файлу

Результати виконання програми

Ковалюк Т.В. Основи програмування: Python / C. 2019 37


Повідомлення про помилку
В процесі написання і виконання програм можуть з’являтися різноманітні
помилки. У таких випадках інтерпретатор Python сам сигналізує про помилку.
Наприклад, коли ми введемо в режимі інтерактивного інтерпретатора інструкцію
‘19’+81 ’явиться таке повідомлення:
>>> '19' + 81
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly

Введена інструкція некоректна, тому python вказав назву помилки і номер рядка,
в якому вона виникла, зупинивши виконання програми.
У Python, у разі появи помилки генерується виняток, який повідомляє про зміст
помилки. В даному випадку згенерований виняток TypeError повідомляє
інформацією про помилку несумісності типів під час додавання числа і рядка. 
Якщо помилка зрозуміла, її виправляють. В іншому випадку, щоб дізнатися, що
означає повідомлення про помилку, можна здійснити пошук в мережі Інтернет
за назвою помилки.
Ковалюк Т.В. Основи програмування: Python / C. 2019 38
Повідомлення про помилку

Ковалюк Т.В. Основи програмування: Python / C. 2019 39


Повідомлення про помилку
Syntax Error:
Ви забули поставити лапки навколо рядка.
Ви забули поставити двокрапку в кінці if/for/def
Ви маєте різну кількість відкритих і закритих дужок
NameError:
Ви зробили помилку у назві функції чи методу
Ви забули імпортувати модуль
Ви забули визначити змінну
Ваш код використовує змінну за межами ї видимості
Ваш код викликає функцію, до її оголошення
Ви намагаєтесь вивести окреме слово, забувши про лапки
TypeError:
Ви намагаєтесь застосувати оператор до неправильного типу об'єкту
Об'єкт, який, на вашу думку, має значення, насправді - не має
Ви використовуєте не цілочисельнне число для зрізу в списку
Ви викликали метод/функцію з невірноюкількістю аргументів

Ковалюк Т.В. Основи програмування: Python / C. 2019 40


Повідомлення про помилку та рекомендації
Змінна, що повинна містити значення, не містить його.
Ви зберігаєте результат роботи функції, який змінює саму змінну.

Число, що має бути дробом, виходить нулем, в Python 2.


Ви ділите цілі числа заміст чисел з плаваючою точкою.
Перетворіть числа в ти float або "fromfuture  import division"

Я намагаюсь вивести значення, але отримую дивний текст


Ви виводите об'єкт (напр. FileObject), натомість необхідно викликати
метод об'єкту.

Немає відповідності регулярному виразу, котрий я очікую.


Ви забули використати чистий рядок або бекслеш.

Я зчитую файл, але не отримую його вмісту


Ви вже прочитали вміст цього файлу, швидше в коді отож курсор перебуває в кінці
файлу.

Ковалюк Т.В. Основи програмування: Python / C. 2019 41


Повідомлення про помилку та рекомендації
Два числа не є рівними, хоча мають бути.
Ви порівнюєте число з рядком, що представлений числом (напр. if 5==‘5')

Складна умова не дає бажаного результату.


Порядок виконання умови не достатньо зрозумілий: додайте дужки в
умову
Список, що має мат значення для кожної ітерації, має лише один елемент
Ви визначили список всередині циклу: винесіть його назовні
Цикл, що використовує функцію range, пропускає останній крок
Функція range пропускає останнє значення: збільште її на одиницю

Я намагаюсь пройтись по кожному елементу колекції рядків, але отримую


окремі символи.
Ви помилково ітеруєте символи рядка з списку.

Я намагаюся записати кілька рядків у файл, але отримую лише один рядок
Ви відкрили файл всередині циклу: винесіть його назовні
Ковалюк Т.В. Основи програмування: Python / C. 2019 42
Коментарі
Коментарі надзвичайно корисні в будь-якій мові програмування.
У міру зростання обсягу і складності коду в програмі слід додавати коментарі,
які описують загальний підхід до розв’язуваної задачі.
Коментарі - це, свого роду, нотатки, написані зрозумілою мовою.
У мові Python ознакою коментаря є символ #.
Інтерпретатор Python ігнорує всі символи в коді після #до кінця рядка.
Наприклад:
>>> # Привіт, світ!
print("Hello, world!")
Hello, world!

Ковалюк Т.В. Основи програмування: Python / C. 2019 43


Продовження рядків
Будь-яка програма стає більш зрозумілою, якщо її рядки короткі.
Рекомендована (але не обов’язкова) максимальна довжина рядка не повинна
перевищувати 80 символів.
Якщо ви не можете висловити свою думку в рамках 80 символів, скористайтеся
символом продовження рядка(\).
>>> alphabet = 'abcdefg' + \
'hijklmnop' + \
'qrstuv' + \
'wxyz'
>>> alphabet
'abcdefghijklmnopqrstuvwxyz'
>>> 1 + 2 + \
3
6

Ковалюк Т.В. Основи програмування: Python / C. 2019 44


Стиль Python
 Кожна мова програмування має свій стиль і Python
не є винятком.
n = int(input())
 Розробники мови є прихильниками певної філософії
out = []
програмування, яку називають «The Zen of Python»
for i in range(n):
(«Дзен Пайтона»). Її текст можна отримати у
k=0
інтерпретаторі Python за допомогою команди
while k < i + 1:
import this
out.append(i+1)
 У більшості мов програмування використовуються
k += 1
спеціальні символи (наприклад, фігурні дужки {} або
if len(out) > n:
ключові слова (наприклад, begin, end ) для того,
break
щоб розбити код на частини.
out = out[0:n]
 У цих мовах хорошим тоном є використання
for i in out:
відступів при написанні коду, щоб зробити програму
print(i, end = " ")
зручною для читання як для себе, так і для інших.
https://www.python.org/de
Python обов’язково вимагає, щоб блоки коду v/peps/pep-0008/
забезпечувалися відступами. PEP 8 -- Style Guide for Python
Code

Ковалюк Т.В. Основи програмування: Python / C. 2019 45


Стиль Python
Для перевірки власного коду для вимог PEP8 можна використовувати
онлайн-сервіс PEP8 online check

http://pep8online.com/

Ковалюк Т.В. Основи програмування: Python / C. 2019 46


Змінні у мові Python
Змінна – це зарезервоване місце в оперативній пам’яті для зберігання
значень.
Це означає, що при створенні змінної виділяється деякий простір в
оперативній пам’яті .
Змінні в Python – це імена, які посилаються на значення, що збергаються в
пам’яті комп’ютера.

 Змінна величина — це узагальнення, абстракція якогось реального чи


уявного об'єкта, що може перебувати в різних станах.
 Змінні набувають різних значень під час виконання програми.
 Змінні використовуються для зберігання значень.
 Змінна асоціюється з коміркою оперативної пам’яті

Ковалюк Т.В. Основи програмування: Python / C. 2019 47


Операції присвоєння
Синтаксис операції присвоєння:

<ідентифікатор> = <вираз>;

Алгоритм виконання операції присвоєння:


1. Обчислити значення виразу, записаного праворуч від
символу присвоєння.
2. Занести отримане значення в комірку оперативної пам’яті,
що асоціюється зі змінною, позначеною ім'ям ліворуч від
символу присвоєння.

Ковалюк Т.В. Основи програмування: Python / C. 2019


Змінні у мові Python
Для завдання змінній значення використовується операція присвоєння

Результат
присвоєння
значень
змінним

100
1000.0
Hello

Ковалюк Т.В. Основи програмування: Python / C. 2019 49


Змінна – як посилання на об’єкт

Присвоєння не копіює значення, воно прикріплює ім’я об’єкта, який містить дані,
тобто змінна посилається на об’єкт, який містить дані.

Ковалюк Т.В. Основи програмування: Python / C. 2019 50


Типи даних Python

Тип даних визначає:


1. множину допустимих значень, яких може набувати
змінна зазначеного типу;
2. множину допустимих операцій, що застосовуються до
даних певного типу;
3. спосіб зображення даних у пам'яті комп'ютера.

В Python все (цілі числа, числа з плаваючою точкою, булеві значення, рядки
і різні інші структури даних, функції і програми) реалізовано як об’єкт.
Python є сильно типізованою мовою – тип об’єкта не змінюється, навіть
якщо можна змінити його значення.

Ковалюк Т.В. Основи програмування: Python / C. 2019 51


Об’єкти Python
 Програма складається з інструкцій
 Інструкція – це команда комп’ютеру, що він має робити
 Інструкція створює або обробляє об’єкти
 В Python існує багато вбудованих об’єктів
Тип об’єкта Назва Приклад об’єкта
об’єкта
Ціле число int 5, -125,43,-890
Число з плаваючою float 1.5, -456.76, 56.0,
точкою (дійсне число)
Рядок str ‘python’, “Python”
Логічне значення bool True, False
Список list [5, 7, ’asd’, True]
Словник dict {‘a’:123, ‘b’:456}
Кортеж tuple (1,2,3,4,5)
Множина set {1,2,3,4,5}
Файл file Ковалюк Т.В. Основи програмування: Python / C. 2019 52
Арифметичні операції над числами

+ додавання
- віднімання
* множення
/ ділення
// ділення цілих числ без остачі
% остача від ділення
** піднесення у степінь

Пріоритет операцій
1 У дужках ()
2. Піднесення у степінь **
3. * / // %
4. + -

Ковалюк Т.В. Основи програмування: Python / C. 2019 53


Вбудовані математичні функції для цілих чисел

Функція Результат виконання фінкції


abs(value) abs(-7) ->7, abs(7) ->7
min (a,b,c….) min (5,-10,43,90) -> -10
max(a,b,c….) max(5,-10,43,90) -> 90
pow(base,exponent) pow(2,5) -> 32
round(value) round(3.5) -> 4
type(value) type(4) -> int

Ковалюк Т.В. Основи програмування: Python / C. 2019 54


Модуль math математичних функцій

Крім найпростіших операцій над числами, Python здатний обчислювати


значення тригонометричних, логарифмічних та ін. Для проведення таких
обчислень з числами мова Python містить бібліотеку (модуль), яка
називається math.
Для використання цих функцій на початку програми необхідно підключити
математичну бібліотеку, що виконується командою:
>>> import math

Для того, щоб звернутися до функції з імпортованого модуля необхідно вказати


його ім'я, поставити крапку і написати ім’я потрібної функції:

>>> math.ім’я_функції(…)

Ковалюк Т.В. Основи програмування: Python / C. 2019 55


Модуль math математичних функцій
Назва функції Опис
Функції в бібліотеці math
ceil(x) Повертає округлене x як найближче ціле значення типу int, яке дорівнює
або перевищує x (округлення "вгору").
fabs(x) Повертає абсолютне значення (модуль) числа x. В Python є вбудована
функція abs, але вона повертає модуль числа з тим же типом, що число,
тут же завжди float abs (fabs).
factorial(x)         Повертає факторіал цілого числа x, якщо x не ціле виникає виключення
ValueError.
floor(x)                На противагу ceil (x) повертає округлене x як найближче ціле значення
типу int, менше або рівне x (округлення "вниз").
fsum(iterable) Повертає float суму від числових елементів об'єкта iterable.
isinf(x) Перевіряє, чи є float об'єкт x плюс або мінус нескінченністю, результат
відповідно True або False.
isnan(x)               Перевіряє, чи є float об'єкт x об'єктом NaN (not a number).
modf(x)               Повертає дробову і цілу частину float числа. Обидва результати
зберігають знак вихідного числа x і представлені типом float.
trunc(x)               Повертає цілу частину числа x у вигляді int об'єкта.

Ковалюк Т.В. Основи програмування: Python / C. 2019 56


Назва функції Опис
Степеневі та логарифмічні функції
exp(x)  Повертає e**x.
log(x[, base])    При передачі функції одного аргументу x, повертає натуральний
логарифм x (логарифм за основою e = 2.7182 ...). При передачі двох
аргументів, другий береться як основа логарифма.
log10(x)               Повертає десятковий логарифм x.
pow(x, y)            Повертає x в ступені y. На відміну від операції ** перетворює обидва
аргументи в тип float.
sqrt(x)  Квадратний корінь (square root) з x.
  Основа натуральних логарифмів e = 2.71828.
Тригонометричні функції
acos(x) Повертає арккосинус x, в радіанах.
asin(x)  Повертає арксинус x, в радіанах.
atan(x) Повертає арктангенс x, в радіанах.
cos(x)   Повертає косинус x, де x виражений в радіанах.
hypot(x, y)         Повертає sqrt (x ** 2 + y ** 2). Зручно для обчислення гіпотенузи і
довжини вектора.
sin(x)    Повертає синус x, де x виражений в радіанах.
tan(x)   Повертає тангенс x, де x виражений в радіанах.
pi Константа π = 3.1415 ...
Перетворення кутів
degrees(x)         Конвертує значення кута x з радіан в градуси.
radians(x)           Конвертує значення кута x з градусів в радіани.

Ковалюк Т.В. Основи програмування: Python / C. 2019 57


Застосування математичних функцій модуля math
Наприклад, нехай потрібно округлити перше число вгору (ceil), а друге –
вниз(floor).
Відповідна функція ceil з одним аргументом викликається, наприклад,
так: math.ceil (x) (тобто явно вказується, що з модуля math використовується
функція ceil).
Замість числа x може бути будь-яке число, змінна або вираз.
Функція повертає значення, яке можна вивести на екран, присвоїти іншій
змінній або використати у виразі:

>>> from math import pow
>>> import math
>>> a = pow(2, 3)
>>> x = math.ceil(9.1)
>>> b = pow(4, 5)
>>> y = math.floor(9.9)
>>> a
>>> print(x, y, sep = '\n')
8.0
10
>>> b

1024.0 

Ковалюк Т.В. Основи програмування: Python / C. 2019 58


Команди Python (виконання в інтерактивному
режимі)
2. Арифметичні операції над символами

+ конкатенація (склеювання) символів

Ковалюк Т.В. Основи програмування: Python / C. 2019 59


Команди Python (виконання в інтерактивному
режимі)
3. Операція зберігання значень
Змінна, якій не
= операція присвоєння змінній значення присвоєно
значення,
вважається
невизначеною

Змінна зберігає
значення протягом
одного сеансу до
перезавантаження
(Restart Shell )

Ковалюк Т.В. Основи програмування: Python / C. 2019 60


Команди Python (виконання в інтерактивному
режимі)
4. Команда (функція) виведення результатів

Ковалюк Т.В. Основи програмування: Python / C. 2019 61


Команди Python (виконання в інтерактивному
режимі)
5. Команда (функція) уведення даних
input()

Якщо ця команда виконується, то потік виконання програми зупиняється в очікуванні


даних, які користувач повинен ввести за допомогою клавіатури.
Після введення даних і натискання Enter, команда input() завершує своє виконання і
повертає результат, який є рядком символів, введених користувачем.

>>> input ()
1234
Вводить
'1234'
користувач
>>> input () Виводить інтерактивний Python
Hello World!
'Hello World!'

Щоб зберігти значення, що вводиться з клавіатури значення функції присвоюється


змінній

a=input()
Ковалюк Т.В. Основи програмування: Python / C. 2019 62
Команди Python (виконання в інтерактивному
режимі)
5. Команда (функція) уведення даних з виведенням повідомлення
input(“рядок повідомлення”)

Команда input(“ текст”) може приймати необов’язковий аргумент-запрошення


строкового типу; при виконанні команди повідомлення буде з’являтися на екрані і
інформувати користувача про запитувані дані.

>>> input(‘Введіть значення змінної:’)


Введіть значення змінної: 25 Вводить користувач
'25'

Виводить інтерактивний Python

Результат повертається у вигляді рядка, навіть якщо було введено число. Для
отримання числового значення потрібно рядок перетворити в число командами
(функціями) перетворення рядкових даних у числові

Ковалюк Т.В. Основи програмування: Python / C. 2019 63


Команди Python (виконання в інтерактивному
режимі)
6. Команди (функції) перетворення рядкових даних у числові під час введення
int(), float()

Функція input() повертає результат у вигляді рядка, навіть якщо було введено число.
Для отримання числового значення потрібно рядок перетворити в число командами
(функціями) int() або float()

>>> input('Введіть число:')


Введіть число: 10
'10'
>>> int(input('Введіть число:'))
Введіть число: 10
10
>>> float(input('Введіть число:'))
Введіть число: 10
10.0

Ковалюк Т.В. Основи програмування: Python / C. 2019 64


Форматоване виведення

Для форматованого виведення використовується метод format() функції


print():
Рядковий метод format() повертає отформатовану версію рядка,
замінюючи ідентифікатори у фігурних дужках {}.
Ідентифікатори можуть бути позиційними, числовими індексами,
ключами словників, іменами змінних.
Синтаксис команди format:
поле заміни: = "{" [ім'я поля] [ "!" перетворення] [ ":" специфікація]
"}"
ім'я поля: = arg_name ( "." ім'я атрибута | "[" індекс "]") *
перетворення: = "r" (внутрішнє уявлення) | "S" (людське уявлення)
специфікація: = см. нижче
Аргументів у format () може бути більше, ніж ідентифікаторів в рядку. В
такому випадку зайві ідентифікатори ігноруються.

Ковалюк Т.В. Основи програмування: Python / C. 2019 65


Специфікація формата
 Специфікація [[fill]align][sign][#][0][width][,][.precision][type]
 fill - заповнювач   символ кроме '{' или '}'
 align - вирівнювання   "<" | ">" | "=" | "^"
 sign - знак числа   "+" | "-" | " "
 width - ширина виведення   integer
 precision - точність   integer
 type - тип значення   "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" |
"o" | "s" | "x" | "X" | "%"

Ковалюк Т.В. Основи програмування: Python / C. 2019 66


Специфікація формата
Тип Значення
 'd', 'i', 'u'  Десяткове число
 'o'  Число в вісімковій системі числення.
 'x'  Число в шістнадцятковій системі числення (букви в нижньому регістрі).
 'X'  Число в шістнадцятковій системі числення (літери у верхньому регістрі).
 'e'  Число з плаваючою точкою з експонентою (експонента в нижньому
регістрі).
 'E'  Число з плаваючою точкою з експонентою (експонента в верхньому
регістрі).
 'f', 'F'  Число з плаваючою крапкою (звичайний формат).
 'g'  Число з плаваючою крапкою. з експонентою (експонента в нижньому
регістрі), якщо вона менше, ніж -4 або точності, інакше звичайний
формат.
 'G'  Число з плаваючою крапкою. з експонентою (експонента в верхньому
регістрі), якщо вона менше, ніж -4 або точності, інакше звичайний
формат.
 'c'  Символ (рядок з одного символу або число, що є кодом символу)
 's'  Рядок.
 '%' Число множиться на 100, відображається число з плаваючою точкою, а за
ним знак%.

Ковалюк Т.В. Основи програмування: Python / C. 2019 67


Приклад лабораторної роботи 1

Ковалюк Т.В. Основи програмування: Python / C. 2019 68


Результат виконання лабораторної роботи 1

Ковалюк Т.В. Основи програмування: Python / C. 2019 69


Домашнє завдання

1. Створіть програму для обчислення довжини кола та площі круга за введеним


радіусом. (Використати функцію pi модуля math)
2. Створіть програму для обчислення площі круга за введеним діаметром. (Використати
функцію pi модуля math)
3. Створіть програму для обчислення радіуса кола за введеною довжиною кола.
(Використати функцію pi модуля math)
4. Створіть програму для обчислення діаметра кола за введеною площею круга.
(Використати функції pi та sqrt модуля math)
5. Створіть програму для обчислення довжини гіпотенузи прямокутного трикутника, за
введеними катетами. (Використати функцію hypt модуля math)
6. Створіть програму для обчислення довжини катета прямокутного трикутника, за
введеними катетом та гіпотенузою. (Використати функції sqrt та pow модуля math)

Ковалюк Т.В. Основи програмування: Python / C. 2019 70


Література

1. https://python-scripts.com/books
2. https://
sites.google.com/site/pythonukr/urok-2-znajomstvo-z-python-i-seredovisami-progr
amuvanna
3. https://github.com/tkovalyuk/Basics-of-programming
4. МакГрат М. Программирование на Python для начинающих. –Москва: Эксмо. –
192 с.
5. Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011.
– 1280 с.
6. Лутц М. Программирование на Python, том I, 2. – Пер. с англ. – СПб.: Символ-
Плюс, 2011. – 992 с.
7. Васильев А. Н. Python на примерах. Практический курс ·по
программированию. - СПб.:Наука и Техника, 2016. - 432 с.
8. Доусон М. Программируем на Python. - СПб.: Питер, 2014. - 416 с.
9. Рейтц К., Шлюссер Т. Автостопом по Python. — СПб.: Питер, 2017. — 336 с.

Ковалюк Т.В. Основи програмування: Python / C. 2019 71

You might also like