首页 > 解决方案 > 如何注释函数参数,该函数参数采用具有 __dict__ 属性而不是 __slots__ 的类的实例,反之亦然

问题描述

假设我有一个功能dict_to_string

>>> def dict_to_string(d: ??) -> str:
...     return ';'.join(f"{k},{v}" for k, v in vars(d).items())

需要什么类型的提示来确保dhas__dict__和 not __slots__,(反之亦然,以备将来参考)。

我知道我可以只检查hasattr(d, '__dict__')而不是__slots__,但我想知道是否可以输入提示。

标签: pythonannotationstype-hintingslots

解决方案


推荐阅读