Глава 13 · Автоматизация с помощью функций
Нет аргументов? Слишком много аргументов!
Значения по умолчанию делают аргумент необязательным; *args принимает их сколько угодно.
Нет аргументов? Что делать!
Если вызвать функцию без обязательного аргумента, Python сообщит об ошибке. Чтобы аргумент можно было пропустить, ему задают значение по умолчанию:
znachenie_po_umolchaniyu.py
def privetstvie(imya="друг"):
print(f"Привет, {imya}!")
privetstvie() # Привет, друг!
privetstvie("Ада") # Привет, Ада!
Слишком много аргументов!
Иногда заранее неизвестно, сколько аргументов понадобится передать. Символ
* перед именем параметра собирает любое
количество аргументов в один кортеж (глава 11):
args.py
def summa_vseh(*chisla):
itog = 0
for n in chisla:
itog += n
return itog
print(summa_vseh(1, 2)) # 3
print(summa_vseh(1, 2, 3, 4, 5)) # 15 — сколько угодно аргументов
Именованные аргументы
Аргументы можно передавать и по имени, а не только по порядку:
privetstvie(imya="Ада") — это особенно удобно, когда у функции много параметров и легко перепутать порядок.Практика в Jupyter Notebook
13-04-argumenty.ipynb · значения по умолчанию и *args