Функції – це фрагменти програми, що багато разів використовуються. Вони дозволяють дати ім'я певному блоку команд для того, щоб згодом запускати цей блок за вказаним ім'ям у будь-якому місці програми і скільки завгодно багато разів. Це називається викликом функції.
Функція - це, мабуть, найважливіший будівельний блок будь-якої нетривіальної програми (будь-якою мовою програмування), тому в цьому розділі ми розглянемо різні аспекти функцій.
Функції визначаються за допомогою зарезервованого слова def. Після цього слова вказується ім'я функції, за яким слідує пара дужок, в яких можна вказати імена деяких змінних, і заключне двокрапка в кінці рядка. Далі слідує блок команд, що складають функцію.
На прикладі можна бачити, що насправді це дуже просто:
def sayHello ():
print ( 'Привіт, Світ!' ) # блок, що належить функції
# Кінець функції
sayHello () # виклик функції
sayHello () # ще один виклик функції
В результаті виконання програми отримаємо такий результа
Привіт, Світ!
Привіт, Світ!
Як це працює:
Ми визначили функцію з ім'ям sayHello, використовуючи описаний вище синтаксис. Ця функція не приймає параметрів, тому в дужках не оголошено жодних змінних. Параметри функції – це деякі вхідні дані, які ми можемо передати функції, щоб отримати відповідний результат.
Зверніть увагу, що ми можемо викликати ту саму функцію багато разів, а значить немає необхідності писати один і той же код знову і знову.
УВАГА!
Опис функції має знаходитись вище виклику функції!
Опис функції має знаходитись вище виклику функції!
Повернення результату виконання функції
Якщо функція створюється з метою обчислення деякого значення, і результат обчислень треба надалі використовувати в основній програмі, слід повернути результат виконання функції до основної програми. Для повернення значення виразу в основну програму в тілі функції потрібно записати оператор return
ПРАКТИЧНА РОБОТА
Створити простий цифровий годинник за допомогою Python.
Для створення цього годинника нам знадобляться модуль tkinter і модуль time.
Модуль часу time
Модуль time надає різноманітні способи отримання часу. У цій роботі ми збираємося використовувати strftime() для розбору поточного часу у форматі Години: Хвилини: Секунди
Метод strftime() у Python
Метод time.strftime() приймає в якості аргументу кортеж struct_time і повертає рядок, що його представляє, на основі використовуваного коду формату.
Тут %Y, %m, %d, %H і т.д. - Це коди формату. Нижче наведено деякі коди формату та їх опис:
%Y - Рік [0001,..., 2018, 2019,..., 9999];
%m - Місяць [01, 02, ..., 11, 12];
%d - День [01, 02, ..., 30, 31];
%H - година [00, 01, ..., 22, 23];
%M - хвилина [00, 01, ..., 58, 59];
%S - секунда [00, 01, ..., 58, 61].
Метод config() у Tkinter Python
Метод config() може використовуватися для налаштування будь-якого Tkinter-віджета. Доступні параметри залежать від конкретного типу віджета.
Синтаксис методу config():
widget.config(option=value, **kwargs)
Де:
widget: Tkinter-віджет, який ви хочете налаштувати.
option: Назва параметра, який ви хочете змінити.
value: Нове значення параметра.
kwargs: Додаткові іменовані аргументи, які можна використовувати для налаштування інших параметрів.
Метод after() у Tkinter Python
Метод after використовується в Tkinter для планування виклику функції через певний проміжок часу. Це може бути корисно для різних завдань, таких як:
Оновлення візуальних елементів інтерфейсу користувача через певні інтервали.
Створення анімації.
Реалізація затримки перед виконанням коду.
Синтаксис методу after():
widget.after(delay, callback, *args, **kwargs)
Де:
widget: Tkinter-віджет, для якого планується виклик.
delay: Ціле число, що представляє час затримки в мілісекундах.
callback: Функція, яка буде викликана після затримки.
args: Додаткові аргументи, які будуть передані функції callback.
kwargs: Додаткові іменовані аргументи, які будуть передані функції callback.
Хід виконання роботи
1 ЕТАП:
викликати модуль tkinter і модуль time
import tkinter
#імпортувати бібліотеку time, щоб отримати поточний час
import time
2 ЕТАП:
створити рекурсивну функцію timing для оновлення часу часу та змінної current_time
(виклик метода after (дозволяє викликати функцію через заданий проміжок часу) годинник змінюватиметься кожні 200 мілісекунд)
def timing():
#відображення поточних годин, хвилин, секунд
current_time = time.strftime("%H : %M : %S")
#налаштувати годинник
clock.config(text=current_time)
#виклик метода after
clock.after(200,timing)
3 ЕТАП:
створити вікно розміром 450х200 пікселів
window=tkinter.Tk()
window.geometry("450x200")
4 ЕТАП:
задати параметри елементів в вікні та викликати функцію timing()
#створити змінну clock і зберегти в ній label
clock=tkinter.Label(window,
font=("times 60 bold"),
bg="pink")
clock.place(x=35, y=35)
timing()
#створити написи для цифрового годинника
digital=tkinter.Label(window,
text="Цифровий годинник на Python",
font="times 24 bold")
digital.place(x=0, y=0)
nota=tkinter.Label(window,
text="години хвилини секунди",
font="times 18 bold")
nota.place(x=35, y=150)
window.mainloop()
Завдання для самостійної роботи:
Змінити налаштування параметрів для отримання цифрового годинника власного дизайну.
Домашнє завдання:
1. Опрацювати теоретичний матеріал сторінки сайту.
2. Виконати практичну роботу і надіслати на пошту вчителя: voronenko@54.edu.ks.ua
3. Пройти тест: https://onlinetestpad.com/k6bnwvludltt4