Я хотел бы знать, можно ли определить, был ли передан параметр функции со значением по умолчанию в Python. Например, как работает dict.pop?
>>> {}.pop('test')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'pop(): dictionary is empty'
>>> {}.pop('test',None)
>>> {}.pop('test',3)
3
>>> {}.pop('test',NotImplemented)
NotImplemented
Как метод pop определяет, что первый раз возвращаемое значение по умолчанию не было передано? Это что-то, что можно сделать только в C?
Спасибо