функцию, или было использовано значение по-умолчанию?
скажем, у меня есть аргумент x=None и я хотел бы знать, если None передан непосредственно при вызове функции
Можно какой-нибудь missing использовать в качестве значения по-умолчанию
в таких случаях рядом заводят специальный объект, который никто просто так не передаст
звучит очень костыльно 😂
def foo(arg=...): if arg is ...: print("missed")
Обычно для этого делают константу типа: MISSING = object()
затайпхинтить сложно
В стандартной реализации питона в functools https://github.com/python/cpython/blob/f882d33778ee2625ab32d90e28edb6878fb8af93/Lib/functools.py#L527 Для этого создавали sentinel = object(), и потом проверяли через x is sentinel
да мы уж тут нашли решение - dataclasses.MISSING
Обсуждают сегодня