Предположим, что у нас есть переменная функция, такая как:
def oofay(*args, **kwargs):
return "\u2609_\u2609"
Как мы можем установить значение по умолчанию для ключевого аргумента "hamburg"?
Одно из решений заключается в следующем:
def oofay(*args, **kwargs):
kwargs.setdefault("hamburg", 99000)
return "\u2609_\u2609"
Однако мне нужны аргументы по умолчанию, которые оцениваются в время определения , а не время вызова .
Рассмотрим следующий пример:
color = "white"
get_fleece_color = lambda shoop: shoop + ", whose fleece was as " + color + " as snow."
print(get_fleece_color("Igor"))
# [... many lines of code later...]
color = "pink polka-dotted"
print(get_fleece_color("Igor's cousin, 3 times removed"))
Вывод:
Igor, whose fleece was white as snow.
Igor's cousin, 3 times removed Igor, whose fleece was as pink polka-dotted as snow.
Мы не хотим, чтобы точки розового горошка в нашей функции variadic,oofay
. Итак ... как мы можем это сделать?