gpt4 book ai didi

python - 如何在Python中返回函数的多种变体

转载 作者:行者123 更新时间:2023-11-30 22:34:29 27 4
gpt4 key购买 nike

如何编写以下代码以使并非所有功能都相同?

>>> def g(x):
... l = []
... for i in range(1,10):
... def f(x):
... return x + i
... l.append(f)
... return l

这个想法应该是g返回 9 个函数的列表,其中第一个函数返回 x+1第二个x+2然而,由于在 python 中一切都是对象,所有先前的函数定义都将被覆盖。我该如何解决这个问题?

最佳答案

这不会覆盖最终列表中的函数

def make_f(x, i):
def f():
return x + i
return f


def g(x):
l = []
for i in range(1, 10):
l.append(make_f(x, i))
return l

for f in g(10):
print f()

11
12
13
14
15
16
17
18
19

关于python - 如何在Python中返回函数的多种变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44825698/

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