如何获取Python对象类的变量名称

时间:2013-11-10 21:21:46

标签: python class variables object

我想知道这是否可行/如何实现。

我有一个Python对象类:

class myClass(object):
    def __init__(self):
        ...do something

然后我创建该对象的实例:

myObjectClass = myClass()

myClass开始,是否可以将变量(myObjectClass)的“名称”作为字符串?

谢谢, 亚当

3 个答案:

答案 0 :(得分:5)

不,不可能以任何合理的方式,并且多个变量也可能指向同一个对象。就局部变量而言,它根本不可能。无论你真正试图解决什么问题,这都是错误的方法。

另外,理解您对对象实例之间差异的理解。

答案 1 :(得分:2)

除了一些hackish方式之外,这绝对不可能。

为什么不在init中添加name参数,如下所示:

def __init__(self, name):
    self.name = name

myObjectClass = myClass("myObjectClass")

这就是我实际做的事情..

答案 2 :(得分:-1)

你可以这样做:

obj = MyClass()

the_globals = globals()
for o in the_globals:
    if the_globals[o].__class__.__name__ == 'MyClass':
        print 'yay', o

但你真的不想这样做。