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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • ...
    查看全部
  • 可见,当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。
    查看全部
  • 动态语言调用实例方法,不检查类型,只要方法存在,参数正确,就可以调用。
    查看全部
    0 采集 收起 来源:python中多态

    2015-04-15

  • 定义new 类时,只需要把额外的属性加上 一定要用 super(Student, self).__init__(name, gender) 去初始化父类, 否则,继承自 Person 的 Student 将没有 name 和 gender
    查看全部
  • python的继承: 1.总是从某个类继承,如果没有,则继承object 2.不要忘记调用super().__init__,该方法用来初始化父类,如果忘记调用,则属性可能不能被正确初始化
    查看全部
  • python的继承: 1.总是从某个类继承,如果没有,则继承object 2.不要忘记调用super().__init__,该方法用来初始化父类,如果忘记调用,则属性可能不能被正确初始化
    查看全部
  • 通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。 类方法的第一个参数将传入类本身, 通常将参数名命名为 cls
    查看全部
  • types.MethodType() 把一个函数变为一个方法 直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同, 函数调用不需要传入 self,但是方法调用需要传入 self
    查看全部
  • gogogo
    查看全部
  • import math def add(x, y, f): return f(x) + f(y) print add(25, 9, math.sqrt)
    查看全部
  • 当新版本的一个特性与旧版本不兼容时,该特性将会在旧版本中添加到__future__中,以便旧的代码能在旧版本中测试新特性。
    查看全部
  • try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句。【相当于if else】 try: from cStringIO import StringIO except ImportError: from StringIO import StringIO
    查看全部
  • @log def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10) 就是: def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10) factorial = log(factorial) → fn(x): print 'call ' + f.__name__ + '()...' return f(x)
    查看全部
  • 假设Person类通过__slots__定义了name和gender,请在派生类Student中通过__slots__继续添加score的定义,使Student类可以实现name、gender和score 3个属性。 ?不会了怎么办 Student类的__slots__只需要包含Person类不包含的score属性即可。 参考代码: class Person(object): __slots__ = ('name', 'gender') def __init__(self, name, gender): self.name = name self.gender = gender class Student(Person): __slots__ = ('score',) def __init__(self, name, gender, score): super(Student, self).__init__(name, gender) self.score = score s = Student('Bob', 'male', 59) s.name = 'Tim' s.score = 99 print s.score
    查看全部
    0 采集 收起 来源:python中 __slots__

    2015-04-14

  • 由于Python是动态语言,任何实例在运行期都可以动态地添加属性。 如果要限制添加的属性,例如,Student类只允许添加 name、gender和score 这3个属性,就可以利用Python的一个特殊的__slots__来实现。 __slots__是指一个类允许的属性列表: class Student(object): __slots__ = ('name', 'gender', 'score') __slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。
    查看全部
    0 采集 收起 来源:python中 __slots__

    2015-04-14

举报

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

微信扫码,参与3人拼团

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

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