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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • __slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。
    查看全部
    0 采集 收起 来源:python中 __slots__

    2016-01-30

  • 我们在 class 中定义的实例方法其实也是属性,它实际上是一个函数对象 因为方法也是一个属性,所以,它也可以动态地添加到实例上,只是需要用 types.MethodType() 把一个函数变为一个方法 用法:p1.get_grade = types.MethodType(fn_get_grade, p1, Person) 直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,函数调用不需要传入 self,但是方法调用需要传入 self。
    查看全部
  • 实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的
    查看全部
  • 1、当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问 2、del可以动态删除实例的属性 del p1.address 3、千万不要在实例上修改类属性,它实际上并没有修改类属性,而是给实例绑定了一个实例属性
    查看全部
  • 实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。 由于Python是动态语言,类属性也是可以动态添加和修改的 因为类属性只有一份,所以,当Person类的address改变时,所有实例访问到的类属性都改变了 类属性调用:Person.count 实例属性调用:self.count 在__init__函数中直接使用count 表示为该函数__init__内创建的临时变量 而非类属性
    查看全部
  • 内层函数引用了外层函数的变量,并且返回内层函数的情况,成为闭包;闭包的特点就是返回函数引用了外层函数的变量,所以必须保证完成函数的变量在函数返回后不能变
    查看全部
    0 采集 收起 来源:python中闭包

    2016-01-29

  • 返回函数的参数不能引用循环变量,或者会发生变化的变量
    查看全部
    0 采集 收起 来源:python中闭包

    2016-01-29

  • 数学运算 Python 提供的基本数据类型 int、float 可以做整数和浮点的四则运算以及乘方等运算。 但是,四则运算不局限于int和float,还可以是有理数、矩阵等。 要表示有理数,可以用一个Rational类来表示: class Rational(object): def __init__(self, p, q): self.p = p self.q = q p、q 都是整数,表示有理数 p/q。 如果要让Rational进行+运算,需要正确实现__add__: class Rational(object): def __init__(self, p, q): self.p = p self.q = q def __add__(self, r): return Rational(self.p * r.q + self.q * r.p, self.q * r.q) def __str__(self): return '%s/%s' % (self.p, self.q) __repr__ = __str__
    查看全部
  • 可以返回函数,这样可以造成延迟返回,可以选择在调用函数时是否要调用最终的返回函数值
    查看全部
  • __cmp__ 对 int、str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法 __cmp__(): class Student(object): def __init__(self, name, score): self.name = name self.score = score def __str__(self): return '(%s: %s)' % (self.name, self.score) __repr__ = __str__ def __cmp__(self, s): if self.name < s.name: return -1 elif self.name > s.name: return 1 else: return 0 上述 Student 类实现了__cmp__()方法,__cmp__用实例自身self和传入的实例 s 进行比较,如果 self 应该排在前面,就返回 -1,如果 s 应该排在前面,就返回1,如果两者相当,返回 0
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2018-03-22

  • sorted()函数接收一个函数f和一个list,函数f进行自定义排序 def score(x1,x2) if x1>x2: return -1 if x1<x2: return 1 return 0 print sorted([90,100,82,56] score)
    查看全部
  • filter()接收一个函数f和list,这个函数对每个list的元素进行判断,返回Ture或False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list
    查看全部
  • reduce()函数也是一个函数f和list,但是函数f必须接收两个参数,reduce()对list每个元素反复调用,并返回结果值,可以用来求和
    查看全部
  • map()函数接收一个函数f和list,并通过吧函数f一次作用再list的每一个元素上
    查看全部
  • 面向对象编程
    查看全部

举报

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

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