我想使用while循环,用一个简单的递增命名约定初始化类对象。目标是能够随意缩放类对象的数量,并让程序自动生成名称。(例如h1…h100…h1000…)每个h1,h2,h3。。。作为自己的例子。在
这是我的第一次尝试。。。一直找不到一个好的例子。在
class Korker(object):
def __init__(self,ident,roo):
self.ident = ident
self.roo = roo
b = 1
hwinit = 'h'
hwstart = 0
while b <= 10:
showit = 'h' + str(b)
print(showit) #showit seems to generate just fine as demonstrated by print
str(showit) == Korker("test",2) #this is the line that fails
b += 1
我得到的错误范围从字符串错误到无法使用函数类型错误。。。。任何帮助都将不胜感激。在
与viraptor稍有不同的解决方案:使用列表。在
事实上,你甚至可以用一行列表来理解:
^{pr2}$然后你可以用
h[0]
,h[1]
等来处理它们变量是指向保存数据的对象的名称。您试图将数据粘贴到变量名中。那是不对的。在
不用h1到h1000,只需调用变量h,并将其列为一个列表。然后得到h[0]到h[999]。在
如果要生成多个对象,为什么不简单地将它们放入数组/散列中,以便以后查找它们:
当然,有一些方法可以使名称在本地可用,但这不是一个好主意,除非您知道为什么需要它(通过globals()和locals())。在
相关问题 更多 >
编程相关推荐