为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
python进阶_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 继承的特点

    查看全部
  • try:
       print p.__score
    except AttributeError:
       print ('attributeError')
    考察try...except的错误信息处理

    关于 _xxx  和 __xxx 的解释不太全面。
    一般来讲,2个的区别是:
    _xxx 可以在子类中使用。
    __xxx 不可以在子类中使用。

    查看全部
  • 解释器内部会将**kw拆分成对应的dict.
    setattr()方法接受3个参数:setattr(对象,属性,属性的值)
    setattr(self,k,v)相当于self.k = v
    kw.iteritems()历遍字典kw的所有key和value,分别匹配k,v

    查看全部
  • 在类中要使用函数的功能,就需要提供相应的特殊方法来实现函数的功能。一般特殊方法以双下划线开头和结尾

    查看全部
    0 采集 收起 来源:python中 __len__

    2018-04-21

  • 用一个filter()函数筛选符合条件的元素

    查看全部
    0 采集 收起 来源:python中 __cmp__

    2018-04-21

  • filter()函数接收一个函数f和一个list,这个函数的作用是对每个元素进行判断,返回True和False,filter自动过滤掉不符合条件的元素,返回符合条件的元素组成新的list

    查看全部
  • 特殊方法定义在class中,不需要直接的调用,python的函数或者操作符会自动的调用这些方法

    查看全部
  • class Person(object):

        def __init__(self, name, gender, **kw):
            self.name=name
            self.gender=gender
            for k,v in kw.iteritems():
                setattr(self,k,v)

    p = Person('Bob', 'Male', age=18, course='Python')
    print p.age
    print p.course

    print(dir(p))       #返回所有属性
    print(filter(lambda x:x.count('__') != 2,dir(p)))    #不返回特殊属性

    查看全部
  • getattr()函数可以设定一个默认值,若属性不存在则返回默认值,而不会直接报错。

    查看全部
  • isinstance()函数判断变量是否是某种类型,type()函数获取变量的类型,dir()函数获取变量的所有属性,getattr()函数获得变量的某个属性,setattr()设置变量的某个属性

    查看全部
  • super(Teacher, self).__init__(name, gender)         #super().__init(子类名, sef).__init__()
    
    请记得子类继承分类时:
        1.调用父类的初始化方法    super(子类名, self).__init__()
    查看全部
  • import time, functools
    def performance(unit):
        def perf_decorator(f):
            @functools.wraps(f)
            def wrapper(*args, **kw):
                t1 = time.time()
                r = f(*args, **kw)
                t2 = time.time()
                t = (t2 - t1) * 1000 if unit=='ms' else (t2 - t1)
                print 'call %s() in %f %s' % (f.__name__, t, unit)
                return r
            return wrapper
        return perf_decorator
    
    @performance('ms')
    def factorial(n):
        return reduce(lambda x,y: x*y, range(1, n+1))
    print factorial.__name__

    完整的高阶函数dectorator


    查看全部
  • 装饰器,简化,覆盖原函数

    查看全部
  • 装饰器20180420
    查看全部
  • 使用了@property装饰器后,原来的__score就不能正常使用了?


    查看全部
    0 采集 收起 来源:python中 @property

    2018-04-20

举报

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

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