Как использовать необязательные параметры в Python?
Использование необязательных параметров Python при определении функций
В данном руководстве вы изучите методы определения функций в Python, которые принимают необязательные аргументы. Когда вы освоите использование необязательных аргументов в Python, вы сможете определять функции, которые будут более мощными и гибкими.
В этом руководстве вы узнаете:
- Чем отличаются параметры и аргументы
- Как определить функции с необязательными аргументами и значениями параметров по умолчанию
- Как определить функции с использованием
args
иkwargs
- Как работать с сообщениями об ошибках, связанными с необязательными аргументами
Бесплатный бонус: Щелкните здесь, чтобы получить шпаргалку по Python и ознакомиться с основами Python 3, такими как работа с типами данных, словарями, списками и функциями Python.
Создание функций в Python для повторного использования кода
Функцию можно рассматривать как мини-программу, выполняющуюся внутри другой программы или другой функции. Главная программа вызывает мини-программу и передает информацию, которая будет ей необходима в процессе выполнения. Когда функция завершает все свои действия, она может вернуть некоторые данные обратно в главную программу, которая ее вызвала.
Основная цель функции - позволить вам повторно использовать код внутри нее всякий раз, когда это необходимо, при необходимости с использованием разных входных данных.
Использование функций позволяет расширить ваш словарный запас в Python. Это позволяет вам выразить решение своей задачи более ясно и лаконично.
В Python, по соглашению, имя функции следует использовать в нижнем регистре с словами, разделенными символом подчеркивания, например, do_something()
. После имени функции необходимо добавить скобки при вызове. Поскольку функции представляют собой действия, bewst практика заключается в том, чтобы начинать имена функций с глагола, чтобы сделать ваш код более читабельным.
Определение функций без входных параметров
В данном руководстве в качестве примера вы будете использовать простую программу, которая создает и поддерживает список покупок и печатает его, когда вы готовы пойти в супермаркет.
Начните с создания списка покупок:
Определение функций с обязательными входными аргументами
Далее вы можете определить функцию print_shopping_list
, которая принимает список покупок в качестве аргумента и печатает его:
Теперь вы можете вызывать эту функцию, передавая ей ваш список покупок:
Результатом будет вывод списка покупок в консоль:
Определение функций с необязательными аргументами и значениями параметров по умолчанию
Теперь представьте, что вы хотите добавить функциональность для печати цены товаров вместе со списком покупок. Определите функцию print_shopping_list
с дополнительным аргументом show_price
и значением по умолчанию False:
Вы можете вызвать функцию без указания show_price
и она будет печатать только список покупок без цен:
Результатом будет вывод списка покупок без цен:
Вы также можете вызвать функцию с указанием show_price
в значение True, чтобы печатать список покупок с ценами:
Результатом будет вывод списка покупок с ценами:
Таким образом, вы можете добавить необязательные аргументы к вашим функциям и задать значения по умолчанию, которые могут быть переопределены при вызове функции.
Использование args
и kwargs
Иногда вам может потребоваться определить функцию, которая может принимать любое количество аргументов или ключевых аргументов. В Python это можно сделать, используя *args
для аргументов и **kwargs
для ключевых аргументов.
Функции, принимающие любое количество аргументов
Рассмотрим пример функции add_numbers
, которая принимает любое количество чисел и возвращает их сумму:
Вы можете вызвать эту функцию с любым количеством чисел:
Функции, принимающие любое количество ключевых аргументов
Рассмотрим пример функции print_scores
, которая принимает любое количество студентов и их оценки в виде ключевых аргументов и печатает их:
Вы можете вызвать эту функцию с любым количеством студентов и их оценками:
Результатом будет вывод оценок студентов в консоль:
Таким образом, использование *args
и **kwargs
позволяет определить функции, которые могут принимать любое количество аргументов или ключевых аргументов, соответственно.
Заключение
Вы изучили методы определения Python функций, которые могут принимать необязательные аргументы и значения параметров по умолчанию. Теперь у вас есть возможность создавать функции, которые могут быть более гибкими и мощными.