Это понятие называется значение по умолчанию .
Используя этот синтаксис, вызывающая сторона может выбрать, указывать ли значение для каждого такого аргумента или использовать значение по умолчанию.
Предположим, у вас есть метод с поведением по умолчанию, но вы хотите зарезервировать возможность изменить его по своему усмотрению. Это даст вам эту силу.
Рассмотрим следующий пример:
def custom_method(msg, prefix=None):
tag = prefix if prefix else ''
print(tag + msg)
Теперь, как пользователь этого API, вы можете использовать префикс или избегать его:
custom_method('Dude', 'Hi')
# Prints 'Hi Dude'
Или:
custom_method('Dude')
# Prints 'Dude'