gpt4 book ai didi

python - 在没有赋值的情况下更改函数的定义

转载 作者:太空狗 更新时间:2023-10-30 01:41:31 25 4
gpt4 key购买 nike

我被赋予了这个任务:

Write a one-line expression that transforms an f(x) function into f(x) +1. Hint: think about how a local frame binding for saved value of f, can be created without an assignment.

Example:

>>> f = lambda x: x*x
>>> f(5) 25
>>> ---your one line expression---
>>> f(5) 26
>>> f, g = None, f
>>> g(5) 26

我试着这样做:

k,f=f, lambda x: k(x)+1

它可以工作,但它使用赋值 f=f。如果没有作业,我怎么能做到这一点?

我的老师告诉我,Python中有一个函数类似于Scheme中的let函数,但我不确定她要我们使用的这个函数是什么,因为她没有提供函数的名称。

最佳答案

这不是一般情况下应该使用的东西,但我想你可以这样做:

def f(x, f=f): return f(x) + 1

并且“没有(明确的)赋值”,因为我们只是定义了一个新的函数名称,恰好与原始函数名称相同。

关于python - 在没有赋值的情况下更改函数的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27532304/

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