在字典中调用对象,在for循环中使用“命名”对象

时间:2018-11-05 02:56:19

标签: python-2.7 object

我正在尝试从PGN创建国际象棋游戏的简单数据库,但是想要在需要时向其添加特定信息,因此我创建了以下代码:

class Games(object):
    q=0
    def __init__(self,name):
        self.name = name
        Games.q+=1
        self.q=Games.q
    def __str__(self):
        return str(self.name)
inp= howmany() #just simple function, outputs ineger
dic={}
c=0
for x in range(1,inp+1):
    c+=1
    prov_name = "game%d" % (c)
    dic[x]= Games(prov_name)
print dic[560]
dic[560].tournament_in = "Prague"
print dic[560].tournament_in
print game560.name

howmany()只是输出小整数的函数,即“最后一次打印运行”

鉴于我们删除了“ print game560.name”,输出为:

>game560
>Prague

你知道了,现在我知道我可以做到这一点:

obj = dic[560]
print obj.whatever

事实是,我真的只想使用对象的名称,在这种情况下,就是用game560做这样的事情:

game560.coffeServedDuringGame = "I dont really care"
print game560

是否有一种方法可以从字典中提取这些实例,或者还有其他方法?

`

0 个答案:

没有答案