Python中有没有一种方法可以使用变量值创建Class实例
class Test(object):
def __init__(self, object):
self.name = object
print "Created Object :",self.name
a1 = Test('a1')
print a1.name
b2 = 'a2'
b2 = Test(b2)
print a2.name
在此示例中,我希望类实例名称分别为“ a1”和“ a2”。我不能直接使用值'a2',因为它是通过其他过程计算得出的,但是类实例名称必须与之匹配,以便可以访问它。
在上面的示例中,它给出了错误:
Created Object : a1
a1
Created Object : a2
Traceback (most recent call last):
File "D:\a\h", line 12, in <module>
print a2.name
NameError: name 'a2' is not defined
最佳答案
与您要查找的内容最接近的是将所有实例存储在字典中:
class Test(object):
def __init__(self, n):
self.name = n
print "Created Object :",self.name
d = {}
d['a1'] = Test('a1')
print d['a1'].name
b2 = 'a2'
d[b2] = Test(b2)
print d['a2'].name
引用对象的变量名称与对象本身之间没有联系。
关于python - 使用变量值创建类实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11777925/