为了账号安全,请及时绑定邮箱和手机立即绑定

运行出错,错在哪里呢?

def f1(x):
    return x*2

def new_fn(f):                  #装饰器函数
    def fn(x):
        print('call '+ f.__name__ + '()')
        return f1(x)            #返回函数的值
    return fn                   #返回函数

# g1 = new_fn(f1)
# print(g1)
# print(g1(5))

f1 = new_fn(f1)
print(f1)
print(f1(10))

运行结果出错,超出递归最大次数了


正在回答

1 回答

大兄弟,看你这句话   return f1(x)            #返回函数的值     你写的是f1(x),正确的应该写 f(x)

1 回复 有任何疑惑可以回复我~
#1

慕九州350972

为什么呢? f1(x)是最早定义的一个函数的运算值,而f(x),f是什么函数
2018-10-30 回复 有任何疑惑可以回复我~
#2

慕九州350972

额,好像懂了
2018-10-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

运行出错,错在哪里呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信