当此属性传递给没有其实例的函数时,我想获取该属性的实例句柄。为了更加清楚,请参见下面的示例代码:

class aClass():
    def __init__(self):
        self.anInstanceAttribute = 'ok'

def aFunction(anInstanceAttribute):
    print(anInstanceAttribute)
    #how to get the instance handle ('the self') of the anInstanceAttribute?

a = aClass()
aFunction(a.anInstanceAttribute)

最佳答案

没有自省/框架黑客攻击,这是不可能的。

aFunction(a.anInstanceAttribute)


在调用函数之前,将对函数参数进行全面评估。因此,该函数接收字符串对象"ok",而对实例a一无所知。如果您想让函数知道有关实例的信息,请传入a

关于python - 获取属性的所有者实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52998728/

10-16 22:46