Предположим, что функция spam
имеет подпись spam(ham=None)
. Следующие три вызова будет все вызвать локальную переменную ham
в пространстве имен spam
«s иметь значение None
:Как функция Python может определить, было ли (и как) выполнено значение kwarg по умолчанию?
spam()
spam(None)
spam(ham=None)
Как spam
узнать, какой из этих трех вариантов на самом деле использовал?
Зачем вам нужно знать? –
Зачем вам нужно знать, почему мне нужно знать? – kjo
Потому что это злая вещь по причинам, объясняемым @BrenBarn. –