我不明白这段代码有什么问题。
请让我知道如何解决这个问题。
我认为这可能是好的,但它导致了错误。
>>> def L():
... for i in range(3):
... locals()["str" + str(i)] = 1
... print str0
...
>>> L()
如果我执行它,则会发生以下错误。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in a
NameError: global name 'str0' is not defined
但是,如果我使用globals()
,则不会发生错误(如下所示)
>>> def G():
... for i in range(3):
... globals()["str" + str(i)] = 1
... print str0
...
>>> G()
1
但是!!!如果我不使用for语句,我可以这样写,并且效果很好。
>>> def LL():
... locals()["str" + str(0)] = 1
... print str0
...
>>> LL()
1
我希望在执行上述代码后使用方法中设置的变量来获得结果。
>>> str0
1
>>> str1
1
>>> str2
1