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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。
    查看全部
  • 一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。 函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。
    查看全部
  • 可见,当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。
    查看全部
  • 1.要定义关键字参数,使用**kw 2.除了可以直接使用self.name='xxx'设置一个属性外,还可以通过setattr(self,'name','xxx')设置属性 class Person(object): def __init__(self,name,gender,birth,**kw)://*args,**kw的组合曾经出现过,想 self.name=name setattr(self,'gender',gender) self.birth=birth for k,v in kw.iteritems(): setattr(self,k,v) xiaoming=Person('xiaoming','Male','1990-1-1',job='student') print xiaoming.name print xiaoming.job
    查看全部
  • 记住排序函数sorted以及匿名函数lambda L1=[p1,p2,p3] L2=sorted(L1,lambda p1,p2:cmp(p1.name,p2.name))
    查看全部
  • 要打印实例,直接使用print语句; 要比较两个实例是否相等,用==操作符 class Person(object): pass xiaoming = Person() xiaohong = Person() print xiaoming print xiaohong print xiaoming==xiaohong
    查看全部
  • 面向对象编程最重要的一个思想是: 数据封装 类把不同实例的属性封装起来 不同的实例他们有相同的数据类型,但是有不同的属性。
    查看全部
  • 加入任意参数的 for k,v in kw.iteritems(): setattr(self,k,v) 做法
    查看全部
  • 多重继承的目的是从两种继承树中分别选择并继承出子类,以便组合功能使用。 举个例子,Python的网络服务器有TCPServer、UDPServer、UnixStreamServer、UnixDatagramServer,而服务器运行模式有 多进程ForkingMixin 和 多线程ThreadingMixin两种。 要创建多进程模式的 TCPServer: class MyTCPServer(TCPServer, ForkingMixin) pass 要创建多线程模式的 UDPServer: class MyUDPServer(UDPServer, ThreadingMixin): pass 如果没有多重继承,要实现上述所有可能的组合需要 4x2=8 个子类。
    查看全部
  • 任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()。
    查看全部
    0 采集 收起 来源:python中多态

    2018-03-10

  • 对同一方法的调用从子类顺延到父类,一旦发现即调用并停止,输出结果。
    查看全部
    0 采集 收起 来源:python中多态

    2018-03-10

  • Python中json.load()并不一定要从一个file对象读取内容,只要对象含有read()方法,就成为File-like Object,json.load()方法就可以从中读取内容。
    查看全部
    0 采集 收起 来源:python中多态

    2018-03-10

  • 如果在类上绑定一个属性,则所有实例都可以访问类的属性,并且,所有实例访问的类属性都是同一个!也就是说,实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。
    查看全部
  • 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'
    查看全部
  • **kw
    查看全部

举报

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

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