我不明白这段代码有什么问题。你知道吗
请让我知道我如何写信来解决这个问题。你知道吗
我本以为这可能是好事,但它导致了错误。你知道吗
>>> 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
From the documentation of locals()
相关问题 更多 >
编程相关推荐