gpt4 book ai didi

python - 在函数中使用变量而不作为参数传递

转载 作者:行者123 更新时间:2023-12-01 04:51:26 26 4
gpt4 key购买 nike

在 python 中,有没有办法让函数使用变量并返回它而不将其作为参数传递?

最佳答案

您所要求的可能的。如果函数没有重新绑定(bind)(例如分配)名称,而是使用它,则该名称将被视为全局名称,例如:

def f():
print(foo)

foo = 23
f()

会按照你的要求做。然而,这已经是一个可疑的想法:为什么不只是 def f(foo): 并调用 f(23),这样更直接、更清晰?!

如果函数需要绑定(bind)名称,那就更可疑了,即使 global 语句允许这样做......:

def f():
global foo
print(foo)
foo += 1

foo = 23
f()
print(foo)

在这里,更好的替代方案是:

def f(foo):
print(foo)
foo += 1
return foo

foo = f(23)
print(foo)

相同的效果 - 更干净、更易于维护、结构更好。

为什么你在寻找较差的(尽管可行)方法,而更好的方法更容易、更干净......?!

关于python - 在函数中使用变量而不作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28379373/

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