当我尝试在我的函数中使用脚本中的变量时出错

时间:2014-04-30 19:29:54

标签: python list function variables

我有一个功能:

def Hanoi(A):

    pegA=['disc0', 'disc1', 'disc2']

如果我调用该函数

Hanoi(pegA)

(我使用的是Autodesk Maya)

我收到此错误:名称'pegA'未定义

我的印象是你可以在函数中使用脚本中的变量?任何人都可以向我解释为什么我会收到此错误吗?

谢谢

2 个答案:

答案 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)

最后,顺便说一下,一般约定是用小写字母启动函数,为类名保留大写。