Методи можна порівняти з цеглинками, з яких ви складаєте свою програму. Що робити, якщо немає методу, який виконує потрібну в алгоритмі розв‘язування задачі дію? Ми можемо самі створити таку цеглинку — описати функцію користувача.
Функція — це пойменований блок програмного коду, який можна викликати з будь-якого місця програми.
З правилами опису і виклику функцій користувача ви ознайомились у 6 класі.
Опис функції виглядає так:
def ім’я_функції (<перелік параметрів>):
<тіло функції>
def ім’я_функції (<перелік параметрів>):
<тіло функції>
Тіло функції являє собою послідовність операторів, які будуть виконані після викликання функції.
Після того як функцію створено, її можна викликати з іншої функції або безпосередньо з оболонки Python.
Щоб викликати функцію, потрібно:
1) ввести ім’я функції й додати дужки;
2) у дужках перелічити аргументи функції — значення, які треба присвоїти формальним параметрам.
1) ввести ім’я функції й додати дужки;
2) у дужках перелічити аргументи функції — значення, які треба присвоїти формальним параметрам.
Якщо формальних параметрів немає, то при виклику після імені функції потрібно писати порожні дужки.
Під час виклику відбувається виконання команд тіла функції.
Приклад:
def hello(s):
print ("Привіт від ", s)
hello("Python")
print ("Привіт від ", s)
hello("Python")
При виклику функції hello() формальний параметр s отримає значення "Python". при виконанні тіла функції буде виведено рядок "Привіт від Python".
Повернення результату виконання функції
Щоб викликати функцію, що не повертає значення, слід ввести її ім’я й додати дужки зі списком значень, які треба присвоїти формальним параметрам.
Припустимо, що в тілі функції виконуються деякі обчислення. Якщо результат обчислень у подальшому треба використовувати в основній програмі, у тілі функції потрібно записати оператор:
return <вираз>
Оператор return припиняє виконання функції й повертає значення виразу на місце виклику функції.
Зверни увагу!
Якщо в тілі функції є оператор return, виклик функції не може бути окремим оператором програми. Ім’я і параметри функції слід записати у правій частині оператора присвоєння. Можна також викликати функцію зі списку виведення оператора print().
Приклад:
Описати функцію ins для вставки підрядка subs в заданий рядок s після n-го символу:
def ins(s, subs, n):
snew=''
snew=s[0: n+1] + subs + s[n+1: len(s)]
return snew
s='1234'
subs=’abc’
n=2
s= ins(s, subs, n)
print (s) # буде надруковане ‘123abc4’
def ins(s, subs, n):
snew=''
snew=s[0: n+1] + subs + s[n+1: len(s)]
return snew
s='1234'
subs=’abc’
n=2
s= ins(s, subs, n)
print (s) # буде надруковане ‘123abc4’
Приклад:
Записати рядок s у зворотному порядку з використанням допоміжної змінної snew:
def rev(s):
snew=''
for i in range(len(s)-1,-1,-1):
snew=snew+s[i]
return snew
s='1234'
print (rev(s)) # буде надруковане ‘4321’
def rev(s):
snew=''
for i in range(len(s)-1,-1,-1):
snew=snew+s[i]
return snew
s='1234'
print (rev(s)) # буде надруковане ‘4321’
Приклад:
Зашифрувати речення шляхом вставлення символа с після кожної літери речення:
def shifr(s, c):
snew=''
for i in range(len(s)):
snew=snew+s[i]+c
return snew
s='Секрет’'
c=’abc’
print (shifr(s, c)) # буде надруковане ‘Сabcеabcкabcрabcеabcтabc’
def shifr(s, c):
snew=''
for i in range(len(s)):
snew=snew+s[i]+c
return snew
s='Секрет’'
c=’abc’
print (shifr(s, c)) # буде надруковане ‘Сabcеabcкabcрabcеabcтabc’
Приклад:
Задано текстовий рядок. Вилучити з нього всі символи, що не є цифрами:
def lit(s):
cifra=’0123456789’''
snew=
for i in range(len(s)):
if s[i] in cifra:
snew=snew+s[i]
return snew
s = "d3fgh56as67"
s= lit(s)
print (s) # буде надруковане ‘dfghas’
def lit(s):
cifra=’0123456789’''
snew=
for i in range(len(s)):
if s[i] in cifra:
snew=snew+s[i]
return snew
s = "d3fgh56as67"
s= lit(s)
print (s) # буде надруковане ‘dfghas’
Джерела:
Інформатика : підруч. для 7 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2020. — с. : іл.