gpt4 book ai didi

Python 与返回变量混淆

转载 作者:太空宇宙 更新时间:2023-11-03 11:30:26 24 4
gpt4 key购买 nike

当谈到返回变量时,这里有一些我不明白的地方。为了简单起见,我写了一个非常基本的东西来总结我遇到的问题:

def apples():
dingo = 2
return dingo

def bananas(dingo):
print(dingo)

def main():
apples()
bananas(dingo)

main()

所以我在“apples”函数中创建了“dingo”。我返回。我将它用作“bananas”中的参数。我在 main 中都调用了它们,那么为什么我会收到“dingo”未定义的错误消息?另外,我不能做的是将 dingo = apples() 放在 bananas 函数中。我无法在 bananas 函数中解压缩它,因为我想在 main 中分别调用它们。有没有办法在不拆包的情况下解决这个问题?

最佳答案

你得到这个错误是因为你没有将 apples() 的返回值分配给任何东西,尤其是 范围内名为 dingo 的变量主要()。这会起作用:

def apples():
dingo = 2
return dingo

def bananas(dingo):
print(dingo)

def main():
result = apples()
bananas(result)

main()

请注意我如何命名变量 result - 它不必与 bananas() 函数的参数命名相同 - 它必须是使用您分配给它的名称传入。

def bananas(dingo) 基本上意味着:创建一个名为 bananas 的函数,它只接受一个参数。在 bananas() 中,将该参数称为 dingo

因此无论在您调用 bananas() 的范围内调用什么参数都是无关紧要的。

同样适用于苹果:您创建一个变量 dingo,为其分配值 2 并返回它 - 实际返回的只是值 (2),由您将该结果分配给可能或可能不同的变量。

关于Python 与返回变量混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21661900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com