我是 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
作为参数添加到 #main
下 func2
的 func3
调用中,正如 IDLE 错误所暗示的那样,以及其他组合尝试让它工作,但没有运气。有人可以向我解释一下为什么以及出了什么问题吗?
最佳答案
func2 需要一个参数。尝试一下
#main
func2(func1())
func3(func2(func1()))
或
#main
func2(func1())
func3(func2('e'))
顺便说一句,如果您正在撰写有关错误消息的内容,请发布您的堆栈跟踪。这将使检查您的问题变得更加容易。
关于python - 如何在Python中使用return语句将局部变量传递给下一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36798589/