Функции
Упрощение кода
Упрощение кода
Повторение действий
Создание функции
Именование функций
Примеры названий функций
Объявление функции
Вызов функции
Вызов функции
Отступы в теле функции
Ключевое слово pass
Задачи:
802.38K
Категория: ПрограммированиеПрограммирование

Функции

1. Функции

ФУНКЦИИ

2. Упрощение кода

УПРОЩЕНИЕ КОДА
В предыдущих уроках мы использовали встроенные
функции print(), input(), int(), str(), len() и другие. Пришло время писать
собственные.
Можно рисовать фигуры из символов с помощью команды print().
Например, так:
1| # прямоугольник 5 на 15 плюсов
2| print('+++++++++++++++')
3| print('+++++++++++++++')
4| print('+++++++++++++++')
5| print('+++++++++++++++')
6| print('+++++++++++++++')

3. Упрощение кода

УПРОЩЕНИЕ КОДА
Далее мы изучили оператор умножения строки на число, поэтому
написали бы программу покороче.
1| print('+' * 15)
2| print('+' * 15)
3| print('+' * 15)
4| print('+' * 15)
5| print('+' * 15)
А с циклами наш код стал бы ещё короче:
1| for _ in range(5):
2|
print('+' * 15)
Программа в две строки удобная, но не всё так просто.

4. Повторение действий

ПОВТОРЕНИЕ ДЕЙСТВИЙ
Представим, что таких прямоугольников нужно изобразить не один, а,
например, три. Получится такой код:
1| for _ in range(5):
2|
print('+' * 15)
3| print()
4| for _ in range(5):
5|
print('+' * 15)
6| print()
7| for _ in range(5):
8|
print('+' * 15)
Части кода здесь повторяются. И если понадобится, например,
изменить размеры прямоугольника, придётся делать это в трёх местах.
Тут на помощь приходят функции.

5. Создание функции

СОЗДАНИЕ ФУНКЦИИ
Такой код создаёт функцию draw_rectangle():
1| def draw_rectangle():
2|
for _ in range(5):
3|
print('+' * 15)
Чтобы увидеть результат работы функции, нужно её вызвать. Для этого
пишут её название — вот так:
1| draw_rectangle()
Теперь изобразим три прямоугольника, разделённых пустыми строками:
1| draw_rectangle()
2| print() # разделитель
3| draw_rectangle()
4| print() # разделитель
5| draw_rectangle()
Код стал короче. А главное, если потребуются иные размеры
прямоугольника, достаточно будет изменить только
функцию draw_rectangle().

6. Именование функций

ИМЕНОВАНИЕ ФУНКЦИЙ
У нашей функции было понятное название draw_rectangle() — от
английского draw — рисовать, rectangle — прямоугольник.
Имя функции должно быть достаточно описательным, чтобы
любой, кто будет читать твой код, мог догадаться, что именно
функция делает. Называть функции в Python нужно по тем же
правилам, что и переменные:
• В имени функции используются только латинские буквы a-z, A-Z,
цифры и символ нижнего подчёркивания (_).
• Имя функции не может начинаться с цифры.
• Имя функции по возможности должно отражать её значение.
• Символы верхнего и нижнего регистра различаются.
Помни:
Python — регистрочувствительный язык. Называть функции и
переменные принято с помощью
стиля lower_case_with_underscores (слова из букв нижнего
регистра с подчёркиваниями).

7. Примеры названий функций

ПРИМЕРЫ НАЗВАНИЙ ФУНКЦИЙ
Поскольку функции выполняют действия, в их именах лучше использовать
глаголы. Например, так:
Что делает функция
Как назвать функцию
Рисует треугольник
draw_triangle()
Генерирует пароль
generate_password()
Вычисляет среднюю скорость
calculate_average_speed()
Корректные названия
Какие имена функций заданы верно?
1.
10_draw_lines()
2.
draw_10_lines()
3.
draw_lines_10_()
4.
_draw_lines_10()

8. Объявление функции

ОБЪЯВЛЕНИЕ ФУНКЦИИ
Функция — это отдельная, независимая часть программы, выполняющая
определённую задачу.
Функции объявляются с помощью ключевого слова def (от
английского define — определять). За ним идут название функции,
круглые скобки (), и двоеточие :.
Верхняя строка объявления функции называется заголовком функции. Со
следующей строки начинается блок кода — тело функции. Этот набор
инструкций выполняется каждый раз, когда вызывается функция. Обрати
внимание, что каждая строка в теле функции выделена отступом.

9.

Корректное объявление
Какая функция объявлена верно?
1.
hello_world()
2.
def hello_world()
3.
def hello_world():
print('Привет, мир!')
4.
def hello_world():
print('Привет, мир!')

10. Вызов функции

ВЫЗОВ ФУНКЦИИ
Если ты правильно объявил функцию hello_world(), но она ничего не
делает, значит, ты забыл вызвать функцию в программе. Помни, что
объявление функции не вызывает её.
1| # объявление функции
2| def print_message():
3|
print('Меня зовут Никита.')
4|
print('Я работаю в компании «Прогресс». ')
5|
6| # вызов функции
7| print_message()

11. Вызов функции

ВЫЗОВ ФУНКЦИИ
Подумаем, что пошло не так в этом примере.
Такой код:
1| # вызов функции
2| print_message()
3|
4| # объявление функции
5| def print_message():
6|
print('Меня зовут Никита.')
7|
print('Я работаю в компании «Прогресс».')
приведёт к ошибке:
NameError: name 'print_message' is not defined
Это произошло, потому что функция вызвана до её объявления.
Функцию вызывают только после её объявления!

12. Отступы в теле функции

ОТСТУПЫ В ТЕЛЕ ФУНКЦИИ
Стажёр попробовал объявить новую функцию functions_info(), но у него выходит
ошибка. Вот его программа:
1| def functions_info():
2|
рrint('Функция — отдельная независимая часть программы.')
3| рrint('Функции объявляются с помощью ключевого слова def.')
4| рrint('Затем идут название функции, круглые скобки (), и двоеточие :.')
Эта ошибка связана с отступами. При объявлении функции убедись, что
каждая строка тела функции начинается с одинакового количества пробелов.
Вот правильный код:
1| def functions_info():
2|
рrint('Функция — отдельная независимая часть программы.')
3|
рrint('Функции объявляются с помощью ключевого слова def.')
4|
рrint('Затем идут название функции, круглые скобки (), и двоеточие :.')

13. Ключевое слово pass

КЛЮЧЕВОЕ СЛОВО PASS
Иногда бывает нужно объявить функцию, которая ничего не
делает. Для это есть оператор-заглушка pass.
1| def do_nothing():
2|
pass
Мы объявили функцию do_nothing(). Её тело содержит одну
строку кода, которая ничего не делает. Эта функция не бесполезна
— обычно программисты ставят заглушки в тех местах, где код
только планируется. Это удобно!

14. Задачи:

ЗАДАЧИ:
1. Выведите с помощью функции mesto_ychebi() на экран текст
«Здравствуйте, меня зовут Андрей», «Я учусь в АКВТ, IT - куб»
2. Создать функцию calc(a, b, operation). Описание входных параметров:
Первое число
Второе число
Действие над ними:
• + Сложить
• - Вычесть
• * Умножить
• / Разделить
• В остальных случаях функция должна возвращать "Операция не
поддерживается«
3. Объявите любую функцию и поставьте оператор заглушку.
4. Напишите функцию hello_friend, принимающую в качестве аргументов
имя и фамилию пользователя и возвращающую строку в формате «Привет,
{name} {surname}!». Вызовите функцию и выведите результат вызова на
экран.
English     Русский Правила