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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • for k,w in kw.iteritems() 历遍字典kw的所有key和value,分别匹配的是k,w
    查看全部
  • 对于实例变量,dir()返回所有实例属性,包括`__class__`这类有特殊意义的属性。注意到方法`whoAmI`也是 s 的一个属性。 如何去掉`__xxx__`这类的特殊属性,只保留我们自己定义的属性?回顾一下filter()函数的用法。 dir()返回的属性是字符串列表,如果已知一个属性名称,要获取或者设置对象的属性,就需要用 getattr() 和 setattr( )函数了:
    查看全部
  • 多态:方法调用将作用在 x 的实际类型上。s 是Student类型,它实际上拥有自己的 whoAmI()d方法以及从 Person继承的 whoAmI方法,但调用 s.whoAmI()总是先查找它自身的定义,如果没有定义,则顺着继承链向上查找,直到在某个父类中找到为止。 由于Python是动态语言,所以,传递给函数 who_am_i(x)的参数 x 不一定是 Person 或 Person 的子类型。任何数据类型的实例都可以,只要它有一个whoAmI()的方法即可
    查看全部
    0 采集 收起 来源:python中多态

    2016-12-01

  • 一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。 函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。
    查看全部
  • 继承之后一定记得用 super().__init__方法,初始化父类
    查看全部
  • has关系
    查看全部
  • python中 __call__ 在Python中,函数其实是一个对象: 一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()。 def __call__(self, friend): print 'My name is %s...' % self.name print 'My friend is %s...' % friend p('Tim')
    查看全部
    0 采集 收起 来源:python中 __call__

    2016-12-01

  • class Student(Person): __slots__ = ('score','name', 'gender') def __init__(self,score,name,gender): super(Student,self).__init__(name,gender) self.score=score
    查看全部
    0 采集 收起 来源:python中 __slots__

    2016-12-01

  • __slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。 __slots__ = ('name', 'gender', 'score')
    查看全部
    0 采集 收起 来源:python中 __slots__

    2016-12-01

  • mark下,不是很明白
    查看全部
  • 直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,函数调用不需要传入 self,但是方法调用需要传入 self。
    查看全部
  • 可以用装饰器函数把 get/set 方法“装饰”成属性调用: class Student(object): def __init__(self, name, score): self.name = name self.__score = score @property def score(self): return self.__score @score.setter def score(self, score): if score < 0 or score > 100: raise ValueError('invalid score') self.__score = score
    查看全部
    0 采集 收起 来源:python中 @property

    2018-03-22

  • Python内置的 sorted()函数可对list进行排序: >>>sorted([36, 5, 12, 9, 21]) [5, 9, 12, 21, 36] 但 sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0
    查看全部
  • 当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。 千万不要在实例上修改类属性,它实际上并没有修改类属性,而是给实例绑定了一个实例属性。
    查看全部
  • 实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。 类属性访问时,前面用类名或者属性名都可以。
    查看全部

举报

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

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