【发布时间】:2015-11-10 12:02:29
【问题描述】:
有没有办法从类变量中获取类?
class T():
x = 5
y = 6
我的函数接受 T.x 作为参数,我也想获取 T.y。
【问题讨论】:
-
从类变量中获取类是什么意思?
-
不,您无法从值中分辨出哪个类引用了它。你的函数被传递给
5,而不是T.x,这个整数对象并没有告诉你它有哪些引用。 -
如果你问“当我打电话给
some_function(T.x)时,some_function有没有办法确定类T,然后找到T.y?”,那么,没有。就some_function而言,您传递给它的值是一个简单的整数,没有可跟踪的信息。 -
嗯.. ast 模块呢?
-
@user1505497: 怎么样?您想要 a) 从
sys._getframe()获取调用者框架,然后 b) 获取该调用者框架的源代码,然后 c) 解析源代码,以便您可以尝试找出用于传递变量的表达式?由于 Python 的动态特性和灵活性,这有许多 缺陷。你的问题在细节上太细了,甚至无法开始追踪那个兔子洞。