我在更大的代码中遇到一个小问题......我可以在下面的示例中重现它
def graph(form):
if form == single:
print 1
if form == multi:
print 2
当我输入
graph(single)
我得到了
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-146-c730e3c6bbf1> in <module>()
----> 1 graph(single)
<ipython-input-143-cf1ff0a5e57e> in graph(form)
5 if form == single:
6 print 1
----> 7 if form == multi:
8 print 2
9
NameError: global name 'multi' is not defined
1
我的错误在哪里?
答案 0 :(得分:3)
single
和multi
没有任何价值。它们未在您的函数中的任何位置或全局定义。
您需要在功能发挥作用之前定义它们的含义。
如果它们只是单词,则需要用引号"single"
而不是single
包装它们。
答案 1 :(得分:1)
错误告诉您问题所在:
NameError: global name 'multi' is not defined
上面的某个地方,您错误输入或忘记定义multi
变量。如果这些是在方法之外定义的全局变量,则应使用global statement在方法的顶部指明。有一个很好的全球使用示例here。