Методи можна порівняти з цеглинками, з яких ви складаєте свою програму. Що робити, якщо немає методу, який виконує потрібну в алгоритмі розв‘язування задачі дію? Ми можемо самі створити таку цеглинку — описати функцію користувача.
Функція — це пойменований блок програмного коду, який можна викликати з будь-якого місця програми.
З правилами опису і виклику функцій користувача ви ознайомились у 6 класі.
Опис функції виглядає так:
def ім’я_функції (<перелік параметрів>):
       <тіло функції>
Тіло функції являє собою послідовність операторів, які будуть виконані після викликання функції.
Після того як функцію створено, її можна викликати з іншої функції або безпосередньо з оболонки Python.
Щоб  викликати функцію, потрібно:
1)    ввести ім’я функції й додати дужки;
2)  у дужках перелічити  аргументи функції — значення, які треба присвоїти формальним параметрам.
Якщо формальних параметрів немає, то при виклику після імені функції потрібно писати порожні дужки.

Під час виклику відбувається виконання команд тіла функції.
Приклад:
def hello(s):
    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’
Приклад:
Записати рядок 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 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’
Джерела:
Інформатика : підруч. для 7 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2020. — с. : іл.