Функции очень часто используются в программировании. В предыдущих статьях мы уже встречались с встроенными функциями такими как ( print(), input(), len() и т.д. ). Попробуем разобраться что такое функции и как написать свою функцию.
Что такое функция?
- Часть кода, для которого мы (даем) присваиваем имя.
- Написав один раз, можно вызывать из разных мест программы.
- Функции позволяют структурировать код, разбив его на отдельные действия.
- Функции делают код более читабельным и упрощают поиск ошибок.
Функция создается при помощи ключевого слова def, далее пишется название (имя) функции. Название функции пишем по тем же правилам что и название переменных (в названии используются маленькие латинские буквы, подчеркивания, цифры). После названия идут круглые скобки и двоеточие.
Пример_1: Опишем функцию которая будет считать процент скидки от цены.
Описав функцию def price_sale(price, percent): , мы можем использовать вычисления скидки для разных значений в разных местах нашего кода.
Пример_2: Усложним и улучшим нашу функцию - сделаем более функциональной. Предположим у нас имеется перечень товаров для которых необходимо посчитать процент скидки и вывести на экран цены с учетом скидки для каждого товара. Создадим словарь price_goods {} с наименованием товара и его ценой, а процент скидки мы будем получать от пользователя в переменную percent_sale. Также для исключения неправильно введенных данных пользователем, добавим в наш код проверку.
Проверять будем:
- Скидка не может быть больше 100 процентов, проверять будем с помощью условного оператора if.
- Процент скидки не может быть отрицательным, исключать (проверять) будем с помощью встроенной функцией abs().
- Цена товара не может быть отрицательной, исключать (проверять) будем с помощью встроенной функцией abs().
Для того чтобы из функции вернуть значения (в нашем случае цены) и продолжить работу с ними, используется встроенная функция return.
Пример_3: Получаем новые цены с учетом скидки и перезаписываем — обновляем цены в словаре price_goods {}.
Кроме обязательных позиционных аргументов, можем создавать необязательные именованные аргументы. У них есть значение по умолчанию.
Пример_4: Добавим в функцию необязательный именованный аргумент с максимальной скидкой 30%
Необязательный именованный аргумент можно как и обязательный позиционный аргумент можно передать в функцию с новым значением.
Пример_5: Изменим максимальную скидку, передав новое значение.
Предыдущие статьи по изучению языка программирования Python3.
8. Цикл for и цикл while в Python3.
7. Условный оператор if в Python3.
6. Словари и работа с ними в Python3.
5. Основа работы со списками в Python3.
3. Переменные в языке Python 3 и для чего они нужны.