我正在尝试编写一个代码,通过它我可以设置一个变量,比如n,为那个特定的类创建n个实例。实例必须命名为“Node_1”、“Node_2”…“Node_n”。我尝试了几种使用for循环的方法来实现这一点,但是我总是得到错误:“cannotassigntooperator。”
我最近的努力如下:
class C():
pass
for count in range(1,3):
"node"+str(count)=locals()["C"]()
print(node)
我知道"node" + str(count)
是不可能的,但我不知道如何解决这个问题。你知道吗
对此事的任何帮助都将不胜感激。你知道吗
你可以做你想做的事,但这真是个坏主意。您应该使用
list
或dict
;因为您似乎希望名称是nodeX
,并且从1
开始,您应该使用dict
。你知道吗根据所做的工作,还可以使用
defaultdict
。你知道吗但是,一旦您这样做了,就不需要使用
'node'
前缀了。你知道吗您正在尝试为字符串赋值。你可以写
Node_1 = C()
,但是"Node_1" = C()
没有意义,因为"Node_1"
是一个字符串,而不是一个标识符。你知道吗这有点粗略,但您可以使用
locals()
字典按名称访问标识符:…这样做之后,就可以使用
node1
和node2
,就好像它们是在代码中显式定义的一样。你知道吗但是,通常情况下,最好不要以这种方式访问本地语言,而应该使用一个单独的词典,该词典包含您自己创建的内容,并包含以下值:
。。。然后可以像这样访问这些值:
nodes[1]
,nodes[2]
,等等创建几个类似对象的最佳模式是
list
理解:这将留给您三个类
C
的对象,它们存储在名为nodes
的list
中。通过索引(例如nodes[0]
)以正常方式访问每个对象。你知道吗相关问题 更多 >
编程相关推荐