Слайд 1
🧠 Пользовательские функции без параметров
Мы уже использовали встроенные функции Python — такие как print(), input(),
len(), int() и другие.
Теперь настало время научиться создавать собственные функции.
📦 Пример без функций
Рассмотрим задачу: нарисовать прямоугольник из звёздочек размером 5×7.
print('*******')
print('*******')
print('*******')
print('*******')
print('*******')
Используя оператор повторения строк:
for _ in range(5):
print('*' * 7)
Код стал компактнее. Но что если нужно вывести три прямоугольника? Придётся повторять один и тот же блок кода несколько раз:
for _ in range(5):
print('*' * 7)
print()
for _ in range(5):
print('*' * 7)
print()
for _ in range(5):
print('*' * 7)
Это работает, но код громоздкий и неудобный. Любое изменение размеров прямоугольника придётся вносить трижды.
🧩 Объявление функции
Функция объявляется с помощью ключевого слова def (от слова define — «определять»).
def draw_box():
for _ in range(5):
print('*' * 7)
Теперь можно вызывать её по имени:
draw_box()
Чтобы вывести три прямоугольника:
draw_box()
print()
draw_box()
print()
draw_box()
draw_box(), мы автоматически обновим все три прямоугольника.
📛 Именование функций
Имена функций подчиняются тем же правилам, что и переменные:
- используются латинские буквы, цифры и подчёркивания;
- имя не может начинаться с цифры;
- регистр букв имеет значение (
draw_box≠Draw_Box); - желательно использовать стиль lower_case_with_underscores.
Функции обычно называют глаголами, отражающими действие:
draw_box()— нарисовать прямоугольник;print_check()— напечатать чек;calculate_salary()— вычислить зарплату.
📜 Пример функции
def print_message():
print('Я - Артур,')
print('король британцев.')
# вызов функции
print_message()
Результат:
Я - Артур,
король британцев.
🚀 Вызов функции
Чтобы запустить функцию, достаточно написать её имя и круглые скобки. Объявление функции не вызывает её автоматически!
# объявление
def print_message():
print('Привет!')
# вызов
print_message()
⚙️ Ключевое слово pass
Иногда нужно создать «пустую» функцию, которая пока ничего не делает.
Для этого используется ключевое слово pass.
def do_nothing():
pass
⚠️ Важно помнить:
- Функцию нужно объявить до её вызова.
- Все строки внутри функции должны иметь одинаковый отступ (обычно 4 пробела).
❌ Ошибка при вызове до объявления:
print_message() # ошибка!
def print_message():
print('Привет!')
Ошибка:
NameError: name 'print_message' is not defined
❌ Ошибка из-за неверных отступов:
def print_greeting():
print('Доброе утро!')
print('Сегодня мы изучаем функции.')
print('Это важная тема!')
Ошибка:
IndentationError: unexpected indent