python - 如何在Python中使用return语句将局部变量传递给下一个函数

标签 python function return local-variables

我是 Python 新手,并且在最基本的层面上尝试将变量传递给后续函数时感到沮丧。我已经在这个网站和其他网站上进行了研究,但没有得到合适的明确答案。我不想使用全局变量。我已经根据 IDLE 的错误报告对函数尝试了各种位置参数,但我无法理解为什么在下面的代码中,前两个函数按预期工作,但第三个函数遵循完全相同的结构,失败。这是代码:

#passing values between functs.

def func1():
    initial_value = 'abc'
    print(initial_value, "is the initial value.")
    value_to_pass = initial_value
    return value_to_pass

def func2(value_to_pass):
    print("\nIn FUNC2 now. Did the value pass?")
    print(value_to_pass, "is the passed value.")
    new_value1 = value_to_pass + 'd'
    print(new_value1, "is the new value.")
    return new_value1

def func3(new_value1):
    print("\nIn FUNC3 now. Did the value pass?")
    print(new_value1, "is the passed value.")
    new_value2 = new_value1 + 'e'
    print(new_value2, "is the new value.")


#main
func2(func1())
func3(func2())


input("\nPress the ENTER key to EXIT.") 

我尝试将 value_to_pass 作为参数添加到 #mainfunc2func3 调用中,正如 IDLE 错误所暗示的那样,以及其他组合尝试让它工作,但没有运气。有人可以向我解释一下为什么以及出了什么问题吗?

最佳答案

func2 需要一个参数。尝试一下

#main
func2(func1())
func3(func2(func1()))

#main
func2(func1())
func3(func2('e'))

顺便说一句,如果您正在撰写有关错误消息的内容,请发布您的堆栈跟踪。这将使检查您的问题变得更加容易。

关于python - 如何在Python中使用return语句将局部变量传递给下一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36798589/

相关文章:

python - 为什么在进行迭代时某些特定数字需要这么长时间

c - 访问 C 中现有函数的最佳实践?

c++ - 比较枚举类型时出现逻辑错误

java - 如果没有返回怎么办。 java

c++ - 如何从单个C++ return语句返回多个值中的一个?

python - 将文本搜索添加到基于内容的图像检索(卷积网络)

python - 在 Python 中通过引用修改变量列表的优雅方法?

python - 元素明智地连接多个列表(字符串列表的列表)

javascript - 单击时将数组项移动到另一个数组

javascript - new Function()() 是什么意思?