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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • 函数调用不需要传入 self,但是方法调用需要传入 self。
    查看全部
  • 实例的方法的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的: class Person(object): def __init__(self, name): self.__name = name def get_name(self): return self.__name p1 = Person('Bob') print p1.get_name() # self不需要显式传入 # => Bob 如果外部需要访问私有属性,可以通过方法调用获得,这种数据封装的形式除了能保护内部数据一致性外,还可以简化外部调用的难度
    查看全部
  • 当实例属性和类属性重名时,实例属性优先级高可见 千万不要在实例上修改类属性,它实际上并没有修改类属性,而是给实例绑定了一个实例属性 把count改为私有__count,这样实例变量在外部无法修改__count
    查看全部
  • 实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。 Python是动态语言,类属性也是可以动态添加和修改的: Person.address = 'China' print p1.address # => 'China' print p2.address # => 'China' 统计出一共创建了多少个 Person 的实例?
    查看全部
  • 以双下划线开头的属性无法被外部访问,"__xxx__"除外。
    查看全部
  • 在定义 Person 类时,可以为Person类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上以下属性: class Person(object): def __init__(self, name, gender, birth): self.name = name self.gender = gender self.birth = birth __init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。 相应地,创建实例时,就必须要提供除 self 以外的参数: xiaoming = Person('Xiao Ming', 'Male', '1991-1-1') xiaohong = Person('Xiao Hong', 'Female', '1992-2-2') 有了__init__()方法,每个Person实例在创建时,都会有 name、gender 和 birth 这3个属性,并且,被赋予不同的属性值,访问属性使用.操作符: print xiaoming.name # 输出 'Xiao Ming' print xiaohong.birth # 输出 '1992-2-2' 可接受任意关键字参数,并把他们都作为属性赋值给实例?
    查看全部
  • Python是动态语言,每个实例可以拥有各自不同的属性
    查看全部
  • Python 高级编程
    查看全部
    0 采集 收起 来源:课程总结

    2015-04-18

  • 所有的函数都是可调用对象 一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()。 Python中,函数也是对象,对象和函数的区别并不显著。
    查看全部
    0 采集 收起 来源:python中 __call__

    2015-04-18

  • 斐波那契数列
    查看全部
    0 采集 收起 来源:python中 __len__

    2015-04-18

  • Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员。
    查看全部
  • 特殊方法
    查看全部
  • 先查找它自身的定义,如果没有定义,则顺着继承链向上查找,直到在某个父类中找到为止。
    查看全部
    0 采集 收起 来源:python中多态

    2015-04-18

  • python的继承: 1.总是从某个类继承,如果没有,则继承object 2.不要忘记调用super().__init__,该方法用来初始化父类,如果忘记调用,则属性可能不能被正确初始化
    查看全部
  • 和属性类似,方法也分实例方法和类方法。 在class中定义的全部是实例方法,实例方法第一个参数 self 是实例本身。 通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.count 实际上相当于 Person.count。 因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用。
    查看全部

举报

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

微信扫码,参与3人拼团

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

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