【发布时间】:2011-01-05 20:15:03
【问题描述】:
我想使用 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
我得到的错误范围从字符串错误到不能使用函数类型错误......任何帮助将不胜感激。
【问题讨论】:
-
"str(showit) == Korker("test",2) #这是失败的那一行" 首先,你的代码中真的是"=="吗?其次,请发布您实际收到的实际错误消息。第三,你为什么不用字典来做这种事情?
-
您基本上是在尝试用代码命名变量吗?简短的回答,你不能。
-
您可能希望将对象存储在列表或字典中。为此目的滥用变量命名空间似乎没有用。
-
@共产鸭:简短的回答应该是:“不要这样做”。这是可能的,但可能是不可取的。
-
为什么不能使用一个叫做h的数组呢?变量将是 h[1]、h[2] 等...
标签: python python-3.x