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

能不能让factorial函数的形参变成从键盘输入的?

能不能让factorial函数的形参变成从键盘输入的?

我的代码如下:

#-*-coding:utf-8-*-


import time

def performance(a):

    def time_ms(f):

        def pp(*args,**kw):

            t1=time.time()

            r=f(*args,**kw)

            t2=time.time()

            t = (t2 - t1)*1000 if a=='ms' else (t2 - t1)

            print 'call %s() in %f %s'%(f._name_,t,a)

            return r

        return pp

    return time_ms


n=(int)(raw_input("请输入一个数字:\n"))


@performance('ms')

def multiply(m):

    return reduce(lambda x,y:x*y , range(1,m+1))


print multiply(n)


但是系统会报出如下错误:

AttributeError: 'function' object has no attribute '_name_'

是函数名字的问题吗?

万分感谢


正在回答

1 回答

两个下划线__name__,不是一个下划线_name_

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

你灬近在远方 提问者

非常感谢!
2016-04-24 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

能不能让factorial函数的形参变成从键盘输入的?

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