← Все вопросы

Как задать значение аргумента по умолчанию в функции?

Задан 11 месяцев назад871 просмотров3 ответа
14

Хочу, чтобы функцию можно было вызвать без указания одного из аргументов, и тогда бы подставлялось какое-то стандартное значение. Как это сделать?

3 ответа

19
✓ Принятый ответ — помог автору

Просто присвой значение прямо в определении функции:

def greet(name, greeting='Привет'):
    print(greeting, name)

greet('Аня')              # Привет Аня
greet('Аня', 'Здарова')   # Здарова Аня

Если аргумент не передали — берётся значение по умолчанию. Важно: аргументы со значением по умолчанию должны идти ПОСЛЕ обычных, иначе будет SyntaxError.

8

Только не ставь изменяемое значение по умолчанию (список, словарь) — это классическая ловушка, отдельно погугли «mutable default argument».

Константин Пономарёв плюсую, сам обжёгся на этом · 11 месяцев назад
6

Через = в скобках при объявлении: def f(x, y=10):.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект