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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • 直接给属性赋值无法检查分数的有效性。 因为Python支持高阶函数,在函数式编程中我们介绍了装饰器函数,可以用装饰器函数把 get/set 方法“装饰”成属性调用 注意: 第一个score(self)是get方法,用@property装饰,第二个score(self, score)是set方法,用@score.setter装饰,@score.setter是前一个@property装饰后的副产品。
    查看全部
    0 采集 收起 来源:python中 @property

    2015-04-19

  • 类型转换 __int__, __float__ 等等
    查看全部
  • __len__()方法,就可以用len()函数返回Students实例的“长度”
    查看全部
    0 采集 收起 来源:python中 __len__

    2015-04-19

  • if self.score==s.score: return cmp(self.name,s.name) return -cmp(self.score,s.score)
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2015-04-19

  • s.upper() de yong fa
    查看全部
  • 正确实现特殊方法
    查看全部
  • Python部分特殊方法
    查看全部
  • 特殊方法
    查看全部
  • 首先可以用 type() 函数获取变量的类型,它返回一个 Type 对象 其次,可以用 dir() 函数获取变量的所有属性 对于实例变量,dir()返回所有实例属性,包括`__class__`这类有特殊意义的属性。注意到方法`whoAmI`也是 s 的一个属性。 如何去掉`__xxx__`这类的特殊属性,只保留我们自己定义的属性?回顾一下filter()函数的用法。 dir()返回的属性是字符串列表,如果已知一个属性名称,要获取或者设置对象的属性,就需要用 getattr() 和 setattr( )函数 传入**kw 即可传入任意数量的参数,并通过 setattr() 绑定属性。 >>> getattr(s, 'age', 20) # 获取age属性,如果属性不存在,就返回默认值20:
    查看全部
  • 多重继承的目的是从两种继承树中分别选择并继承出子类,以便组合功能使用。 像这样,D 同时继承自 B 和 C,也就是 D 拥有了 A、B、C 的全部功能。多重继承通过 super()调用__init__()方法时,A 虽然被继承了两次,但__init__()只调用一次
    查看全部
  • 由于Python的动态特性,json.load()并不一定要从一个File对象读取内容。任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()。
    查看全部
    0 采集 收起 来源:python中多态

    2015-04-19

  • 方法调用将作用在 x 的实际类型上。s 是Student类型,它实际上拥有自己的 whoAmI()方法以及从 Person继承的 whoAmI方法,但调用 s.whoAmI()总是先查找它自身的定义,如果没有定义,则顺着继承链向上查找,直到在某个父类中找到为止。 由于Python是动态语言,所以,传递给函数 who_am_i(x)的参数 x 不一定是 Person 或 Person 的子类型。任何数据类型的实例都可以,只要它有一个whoAmI()的方法即可: class Book(object): def whoAmI(self): return 'I am a book' 这是动态语言和静态语言(例如Java)最大的差别之一。动态语言调用实例方法,不检查类型,只要方法存在,参数正确,就可以调用。
    查看全部
    0 采集 收起 来源:python中多态

    2015-04-19

  • 一个实例可以看成它本身的类型,也可以看成它父类的类型。 isinstance(实例, 类名) 判断实例是否是该类
    查看全部
  • 一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。
    查看全部
  • 注意类方法需要添加 @classmethod 方法的第一个参数将传入类本身,通常将参数名命名为 cls cls.count 实际上相当于 Person.count。
    查看全部

举报

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

微信扫码,参与3人拼团

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

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