我有一个功能:
def Hanoi(A):
pegA=['disc0', 'disc1', 'disc2']
如果我调用该函数
Hanoi(pegA)
(我使用的是Autodesk Maya)
我收到此错误:名称'pegA'未定义
我的印象是你可以在函数中使用脚本中的变量?任何人都可以向我解释为什么我会收到此错误吗?
谢谢
答案 0 :(得分:0)
pegA在函数中定义,但是您将它作为参数传递给函数。基本上你试图在定义它之前调用它
答案 1 :(得分:0)
使用此代码:
def Hanoi(A):
pegA=['disc0', 'disc1', 'disc2']
您已经定义了一个函数Hanoi
,并且在运行该函数时,会创建一个局部变量pegA
。当函数返回时,pegA
被销毁,因为它是本地的
然后当你调用函数时:
Hanoi(pegA)
没有pegA
将传递给该函数。它将在内部创建,但在外部不存在。
您可以做的是在函数外部创建pegA
,并将其传递给:
def Hanoi(A):
print A # pegA was assigned to A when you called the function
pegA=['disc0', 'disc1', 'disc2']
Hanoi(pegA)
最后,顺便说一下,一般约定是用小写字母启动函数,为类名保留大写。