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

代码中的f.__name__ +'()'是什么意思?有大神能详细解释一下吗,谢谢!

def f1(x):
    return x*2
def new_fn(f):
    def fn(x):
        print 'call'+f.__name__ +'()' #双下划线
        return f(x)
    return fn
g1=new_fn(f1)
print g1(5)


正在回答

1 回答

f.__name__是函数的名字,函数对象中有一个__name__属性用来保存函数的名字,这里的作用是加上前面的'call'组装打印出log信息

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

媛小程091117 提问者

结果是callf1(),所以保存的是我第8行需要输出的函数的名字:f1? 那__doc__是保存文档的名字吗?
2017-09-17 回复 有任何疑惑可以回复我~
#2

媛小程091117 提问者

非常感谢!
2017-09-20 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

代码中的f.__name__ +'()'是什么意思?有大神能详细解释一下吗,谢谢!

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