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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • import time def performance(prefix): def log(f): def fn(*args,**kw): t1 = time.time() r = f(*args,**kw) t2 = time.time() t = (t2 - t1) * 1000 if prefix == 'ms' else (t2 - t1) print 'call %s() function in %f %s' % (f.__name__, t,prefix) return r return fn return log @performance('ms') def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
    查看全部
  • import time def performance(unit): def performance_decorator(f): def wrapper(*args,**kw): print 'call %s() %s' %(f.__name__,unit) return f(*args,**kw) return wrapper return performance_decorator @performance('ms') def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
    查看全部
  • import time def performance(f): def fn(*args,**kw): print 'call',f.__name__,'()in:',time.time() return f(*args,**kw) return fn @performance def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
    查看全部
  • import time def performance(f): def fn(*args,**kw): # print 'call factorial() in :',time.time() return f(*args,**kw) return fn @performance def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
    查看全部
  • 在Python中,函数其实是一个对象. 所有的函数都是可调用对象。 一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()
    查看全部
    0 采集 收起 来源:python中 __call__

    2015-03-27

  • 由于Python是动态语言,任何实例在运行期都可以动态地添加属性。 __slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。 注意逗号
    查看全部
    0 采集 收起 来源:python中 __slots__

    2015-03-27

  • 因为Python支持高阶函数,在函数式编程中我们介绍了装饰器函数,可以用装饰器函数把 get/set 方法“装饰”成属性 注意: 第一个score(self)是get方法,用@property装饰,第二个score(self, score)是set方法,用@score.setter装饰,@score.setter是前一个@property装饰后的副产品。 说明对 score 赋值实际调用的是 set方法。如果没有定义set方法,就不能对“属性”赋值,这时,就可以创建一个只读“属性”。 用 @property 修饰 grade 的 get 方法即可实现只读属性。
    查看全部
    0 采集 收起 来源:python中 @property

    2015-03-27

  • 嵌套太多,代码是简洁了,但是理解起来也挺吃力的。。。有啥方案?
    查看全部
  • 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
    查看全部
    0 采集 收起 来源:python中闭包

    2015-03-27

  • 内部函数可以直接调用外部函数的变量
    查看全部
  • 返回函数延迟计算——惰性计算,函数式编程的特点
    查看全部
  • 一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。 函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。
    查看全部
  • 如果要把 Rational 转为 int,要让int()函数正常工作,只需要实现特殊方法__int__() 也就是说如果要对一个对象进行int操作,需要该对象实现__int__魔术方法。
    查看全部
  • 1,有理数计算,p、q 都是整数,表示有理数 p/q。需要数学知识。 2,gcb函数是用来显示并且约分用的 3,r1,r2 实际调用了__str__方法 4,系统级别的魔术方法,可以解析+-*/ 加法运算:__add__ 减法运算:__sub__ 乘法运算:__mul__ 除法运算:__div__
    查看全部
  • 如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数。 这个类只要就是用来存储数据的 斐波那契数列: a=0,b=1,将a插入数组,然后a=b,b=a+b 开始循环
    查看全部
    0 采集 收起 来源:python中 __len__

    2015-03-27

举报

0/150
提交
取消
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!