gpt4 book ai didi

python - 使用 @property 装饰器 python 获取方法的源代码

转载 作者:太空宇宙 更新时间:2023-11-04 09:53:27 26 4
gpt4 key购买 nike

假设我有一个 MyClass 类,它有一个使用 @property 装饰器创建的属性,如下所示:

class MyClass(object):
@property
def foo(self):
if whatever:
return True
else:
return False

假设我想使用 python inspect 模块来获取定义属性的源代码。我知道如何为方法 (inspect.getsource) 执行此操作,但我不知道如何为属性对象执行此操作。有人知道怎么做吗?

最佳答案

通过属性的 fget 属性访问底层的 getter 函数:

print(inspect.getsource(MyClass.foo.fget))

如果它有 setter 或删除器,您可以通过 fsetfdel 访问它们:

print(inspect.getsource(MyClass.foo.fset))
print(inspect.getsource(MyClass.foo.fdel))

关于python - 使用 @property 装饰器 python 获取方法的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46897926/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com