gpt4 book ai didi

python - 为什么在调用函数时需要将函数分配给标识符?

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

我想为此获取一个示例代码:

def coun(n):
count = 0
def counter():
nonlocal count
if count < n:
count += 1
return count
return counter

cntrl = coun(4)
print(cntrl())

为什么我们必须为函数分配一个标识符,而且在 print 语句中,使用括号调用 cntrl,而在函数 coun 的 return 语句中,不使用括号返回计数器。这是什么?(我只是 python 新手)

最佳答案

调用函数时不需要将函数分配给标识符。

考虑简单的例子:

def function_factory():
def f(x):
return x
return f

您可以将从工厂返回的函数分配给标识符并将其用作任何其他命名函数:

my_f = function_factory()
assert my_f(1) == 1

或者您可以删除中间作业并在一行中完成:

assert function_factory()(1) == 1

关于python - 为什么在调用函数时需要将函数分配给标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37323621/

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