Код: Выделить всё
class MyClass:
pass
Как?
Более конкретно, я хочу различать объекты, где есть __dict__/
Код: Выделить всё
__slots__Некоторые предыстории/идеи, которые могут быть полезны для ответа:
- обычно пуст или отсутствует.
Код: Выделить всё
functools.partial.__dict__ - существует только в том случае, если Python использует чистую реализацию Python, что обычно не так.
Код: Выделить всё
functools.partial.__slots__ - существует начиная с Python >=3.11 и возвращает __dict__ (и, возможно, __slots__), поэтому в случае собственного частичного он будет пустым или None . (Не уверен, что это действительно так. См. проблему CPython № 125094.)
Код: Выделить всё
functools.partial.__getstate__() - также не распространяется на func и co? Однако dir(functools.partial)?
Код: Выделить всё
functools.partial.__dir__(functools.partial)
Сначала я думал, что, возможно, __dictoffset__ дает мне какую-то подсказку, но это оказалось не так.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -user-type