2024-04-25 11:41:33 发布
网友
是否可以获得一个类中所有@property修饰方法的列表?如果是,怎么办?在
@property
示例:
class MyClass(object): @property def foo(self): pass @property def bar(self): pass
如何从这个类获得['foo', 'bar']?在
['foo', 'bar']
任何用property修饰的对象都会在类命名空间中留下一个专用对象。查看类的__dict__,或者使用vars()函数来获得相同的值,并且property类型实例的任何值都是匹配的:
property
__dict__
vars()
[name for name, value in vars(MyClass).items() if isinstance(value, property)]
演示:
请注意,这将包括直接使用property()的任何内容(实际上,这是装饰器所做的),并且名称的顺序是任意的(因为字典没有固定的顺序)。在
property()
任何用
property
修饰的对象都会在类命名空间中留下一个专用对象。查看类的__dict__
,或者使用vars()
函数来获得相同的值,并且property
类型实例的任何值都是匹配的:演示:
^{pr2}$请注意,这将包括直接使用
property()
的任何内容(实际上,这是装饰器所做的),并且名称的顺序是任意的(因为字典没有固定的顺序)。在相关问题 更多 >
编程相关推荐