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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • upper() 全转换成大写 lower() 全转换成小写
    查看全部
  • python中支持操作符的重载,包含了运算重载,赋值重载,获取值重载,print,del等命令执行重载
    查看全部
    0 采集 收起 来源:课程总结

    2017-02-09

  • 所有类中的实例方法第一个参数都是self,所有类方法第一个参数都是cls
    查看全部
    0 采集 收起 来源:课程总结

    2017-02-09

  • 在类中重写__call__方法,可以让实例变成可调用对象 因此函数和实例没有明显的区别
    查看全部
    0 采集 收起 来源:python中 __call__

    2017-02-09

  • 特殊方法: __str__和__repr__相当于java中的toString方法 __cmp__相当于java中的comparable接口的方法 __len__是用来自定义计算长度的 __add__,__sub__,__mul__,__div__是对于加减乘除四则运算的操作符的重载
    查看全部
  • class的继承是在名字后面用括号表示,可以多继承,多个父类以,分隔 如: class A(B,C) type函数可以获取实例的类型 dir函数可以获取变量的所有属性 getattr和setattr是动态给实例的属性赋值的,有点类似java中的反射
    查看全部
  • isinstance函数相当于java中的instanceof关键字 用于判断实例的类型,参数有2个: 1.实例变量 2.类
    查看全部
  • 在class中定义的函数默认叫方法, 默认都是实例方法,只能通过实例去调用 如果要改成类方法(静态方法),需要在方法定义上加一个@classmethod
    查看全部
  • 在类中直接定义的属性是类属性,相当于java中的静态变量 类属性的名字和实例属性的名字重复时,通过实例优先获取的是实例属性
    查看全部
  • __开头的属性相当于java中的private属性,不能被外部直接访问
    查看全部
  • 类的定义也是class,:结尾 __init__函数相当于的类中的构造器 只不过这个构造器的第一个参数是自己,一般取名self,相当于java中的this关键字 创建对象时,没有new关键字,参数个数是构造器的参数个数-1
    查看全部
  • 在class中定义的全部是实例方法,实例方法第一个参数 self 是实例本身。 要在class中定义类方法, 通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.count 实际上相当于 Person.count。
    查看全部
  • 因为方法也是一个属性,所以,它也可以动态地添加到实例上,只是需要用 types.MethodType() 把一个函数变为一个方法: import types class Person(object): def __init__(self, name, score): self.name = name self.score = score p1 = Person('Bob', 90) p1.get_grade = types.MethodType(fn_get_grade, p1, Person)
    查看全部
  • Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问。 但是,如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义。
    查看全部
  • def newfn(f): def fn(x): print 'call' + f.__name__ +'()' return f(x) return fn @newfn def f1(x): return x * 2 print f1(5) ========输出结果-========== callf1() 10 执行顺序: 若要输出f1(5)(此时的f1已经不是def f1(x)了),从f1 = newfn(f1)开始执行,发现newfn传入了f1函数,调用newfn(f)(此时f1函数赋值给f使用),返回fn函数,继续调用fn(x)函数,执行fn(x)的内容:打印callf+函数名称属性+(),并返回f1(5)(因为f1已经赋值给了f),调用并执行f1(5),获得 10。将fn结果返回并打印。 #说的好乱,真怕自己以后看不懂。。
    查看全部

举报

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

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