← Все вопросы
Как задать значение аргумента по умолчанию в функции?
14
Хочу, чтобы функцию можно было вызвать без указания одного из аргументов, и тогда бы подставлялось какое-то стандартное значение. Как это сделать?
3 ответа
19
✓ Принятый ответ — помог автору
Просто присвой значение прямо в определении функции:
def greet(name, greeting='Привет'):
print(greeting, name)
greet('Аня') # Привет Аня
greet('Аня', 'Здарова') # Здарова Аня
Если аргумент не передали — берётся значение по умолчанию. Важно: аргументы со значением по умолчанию должны идти ПОСЛЕ обычных, иначе будет SyntaxError.
8
Только не ставь изменяемое значение по умолчанию (список, словарь) — это классическая ловушка, отдельно погугли «mutable default argument».
Константин Пономарёв плюсую, сам обжёгся на этом · 11 месяцев назад
6
Через = в скобках при объявлении: def f(x, y=10):.
Ваш ответ
Войдите, чтобы ответить на вопрос.