如何访问另一个函数中定义的变量?

时间:2014-06-24 16:45:07

标签: python abaqus

我试图在Python中调用另一个函数中的变量。

我尝试返回所需的变量,然后将它们作为输入放在第二个函数中,但它告诉我它们没有定义。我不知道为什么会这样做。

基本上,我想在Steps函数中使用Create_Array()中的Edit_PPress()列表,而无需再次请求用户输入来询问哪个测试,因为这会给您带来不便。用户。

def Create_Array():
    outside_range = True
    while outside_range == True:
        test=getInput('What test?\n\n1 for Test A\n\n2 for TestB\n\n3 for Test C')
        if test == '1':
            Steps = [1,2,3]
            outside_range = False
            return Steps
        elif test == '2':
            Steps = [4,5,6]
            outside_range = False
            return Steps
        elif test == '3':
            Steps = [7,8,9]
            outside_range = False
            return Steps
        else:
            getWarningReply('Input is outside range. Please enter 1, 2, or 3.', "OKAY")
def Edit_PPress(Steps):
    print Steps

产生此错误:

`<type 'TypeError'>: Edit_PPress() takes exactly 4 arguments (0 given)`

我在Abaqus中使用它,所以当我运行Edit_PPress时,就像把Edit_PPress(Steps)放到命令提示符中一样。我无法创建一个类,因为Abaqus不会在其宏管理器中读取类中的函数。

我尝试将Steps函数中生成的list变量调用到第二个函数Create_Array()。我会将我的评论添加为评论,但我浏览器上的格式搞砸了,不会让我添加评论。我只能编辑我原来的问题。另外......我确实阅读了如何提出一个好问题的常见问题解答。我错过了哪些信息?

我想要完成的任务:在第二个函数中使用第一个函数中定义的Steps变量。

问题:告诉我,当我尝试在第一个函数之后运行第二个函数时,未定义Steps变量。

0 个答案:

没有答案