Функції

email:  voronenko@54.edu.ks.ua  

Функції – це фрагменти програми, що багато разів використовуються. Вони дозволяють дати ім'я певному блоку команд для того, щоб згодом запускати цей блок за вказаним ім'ям у будь-якому місці програми і скільки завгодно багато разів. Це називається викликом функції.

Функція - це, мабуть, найважливіший будівельний блок будь-якої нетривіальної програми (будь-якою мовою програмування), тому в цьому розділі ми розглянемо різні аспекти функцій.

Функції визначаються за допомогою зарезервованого слова 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) 

Де:

Метод after() у Tkinter Python

Метод after використовується в Tkinter для планування виклику функції через певний проміжок часу. Це може бути корисно для різних завдань, таких як:

Синтаксис методу after(): 

widget.after(delay, callback, *args, **kwargs)

Де:

Хід виконання роботи

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