更新时间:2022-01-15 00:47:53
功能是一等公民在Python.您可以将函数作为参数传递:
Functions are first-class citizens in Python. you can pass a function as a parameter:
def iterate(seed, num, fct):
# ^^^
x = seed
orbit = [x]
for i in range(num):
x = fct(x)
# ^^^
orbit.append(x)
return orbit
在您的代码中,您将传递所需的函数作为第三个参数:
In your code, you will pass the function you need as the third argument:
def f(x):
return 2*x*(1-x)
iterate(seed, num, f)
# ^
或
def g(x):
return 3*x*(2-x)
iterate(seed, num, g)
# ^
或者...
如果您不想每次都命名一个新函数,则可以选择传递一个匿名函数(即: lambda ):
If you don't want to name a new function each time, you will have the option to pass an anonymous function (i.e.: lambda) instead:
iterate(seed, num, lambda x: 3*x*(4-x))