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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • Python的函数不但可以返回int、str、list、dict等数据类型,还可以返回函数!
    查看全部
  • 当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。
    查看全部
  • 绑定在一个实例上的属性不会影响其他实例,实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。 访问类属性不需要创建实例,就可以直接访问。
    查看全部
  • 但 sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。
    查看全部
  • filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
    查看全部
  • reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。 例如,编写一个f函数,接收x和y,返回x和y的和: def f(x, y): return x + y 调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算: 先计算头两个元素:f(1, 3),结果为4; 再把结果和第3个元素计算:f(4, 5),结果为9; 再把结果和第4个元素计算:f(9, 7),结果为16; 再把结果和第5个元素计算:f(16, 9),结果为25; 由于没有更多的元素了,计算结束,返回结果25。 上述计算实际上是对 list 的所有元素求和。虽然Python内置了求和函数sum(),但是,利用reduce()求和也很简单。
    查看全部
  • 访问限制:如果一个属性由双下划线开头(__),该属性无法被外部访问。 如:self.__job = 'Student'中的job属性就无法被外部访问 _xxx 可以在子类中使用 __xxx 不可以在子类中使用
    查看全部
  • 在定义 Person 类时,可以为Person类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上以下属性: class Person(object): def __init__(self, name, gender, birth): self.name = name self.gender = gender self.birth = birth __init__的作用就是为类添加上公共属性
    查看全部
  • 内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。
    查看全部
    0 采集 收起 来源:python中闭包

    2017-07-20

  • sorted()接受一个比较函数来实现自定义排序,也可以对字符串进行排序,默认按照ASCII大小比较。
    查看全部
  • filter()函数接收一个函数f和一个list,函数f对每个元素进行判断,返回True或False,filter()根据判断结果将符合条件元素组成一个新的list。
    查看全部
  • reduce()传入的函数f必须接收两个参数。 reduce()可以接收第3个参数,作为计算的初始值。
    查看全部
  • map()是Python内置的高阶函数,接收一个函数f和一个list,并通过函数f依次作用在list的每一个元素上,得到一个新的list并返回,并不会改变原有的list。 map()可以处理任意类型的list,只要f可以处理这种数据类型。
    查看全部
  • 是的 类方法和静态方法都能被实例和类本身调用
    查看全部
  • “因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用”这句话的意思是,那个how_many()函数只能访问count,而不能访问name 因为count是定义的类属性,不是使用self.属性名定义的
    查看全部

举报

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

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