从另一个函数调用变量

时间:2013-04-22 11:45:45

标签: python function error-handling

这是我遇到的问题类型的一个简单示例:

def making_list(text):
    list_ = []
    i = 0
    while i < int(len(text)):
        list_.append(text[i])
        i += 1
    return list_

def calling_list(list_):
    print list_

text = raw_input("text input")

making_list(text)
calling_list(list_)

来自 making_list 的变量 list _ 无法被 calling_list 功能识别。这个问题的可能解决方案是什么?

谢谢

4 个答案:

答案 0 :(得分:3)

您不会将变量存储在任何位置。

mylist = making_list(text)
calling_list(mylist)

说明:变量名仅在函数范围内有效。如果你离开函数(返回一些局部变量),你只返回变量的'value',而不是它的名字,你需要将它分配给外面的变量。

答案 1 :(得分:0)

您必须声明将making_list的输出作为其值的变量。 making_list函数返回list_;但是如果你没有将它分配给你的函数中的另一个变量,你就无法达到它。

list_ = making_list(text)将解决您的问题。

答案 2 :(得分:0)

您的making_list - 函数不会返回任何内容。这将有效

list = making_list(text)
calling_list(list)

这将有效。

答案 3 :(得分:0)

我不想更改或优化您的代码,我只想提供一个可能的解决方案:

1)如果您希望list_存储在内存中,请更改代码的最后两行,如下所示:

list_=making_list(text)
calling_list(list_)

现在,您可以在代码中的任何位置访问list_。

2)如果您不想存储list_并且只想打印并忘记它,请删除代码的最后两行并写下此行:

calling_list(making_list(text))