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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • D 同时继承自 B 和 C,也就是 D 拥有了 A、B、C 的全部功能。多重继承通过 super()调用__init__()方法时,A 虽然被继承了两次,但__init__()只调用一次:
    查看全部
  • 没有看懂
    查看全部
    0 采集 收起 来源:python中多态

    2016-05-13

  • 判断类的类型 isinstance()可以判断一个变量的类型,例如Python的内置函数的数据类型(str,list,dict),也可以判断类的类型 一个实例可以看成他本身的类型,也可以看成他父类的类型
    查看全部
  • 继承一个类 子类继承父类,用super(Student,self).__init__(父类的属性)去初始化父类 注:self已经在super()中传入了,在__init__中将隐式传递,不需要写出(且不能写)
    查看全部
  • MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。 "Map(映射)"和"Reduce(归约)"
    查看全部
  • 要在python2.7中引入3.x的除法规则,导入_future_的division: from _future_ import division
    查看全部
  • try .... except.... try的作用是捕获错误,并在捕获到指定错误时执行except语句
    查看全部
  • 导入模块 import math 导入模块的几个函数 from math import pow,sin,log 解决函数名冲突,例如:math中含有一个log,logging中也有一个log函数, 方法一:通过模块名应用函数 import math,logging print math.log(10) logging.log(10,“something”) 方法二:from math import log from logging import log as logger
    查看全部
  • 把函数作为变量 即为高阶函数
    查看全部
  • 问题的产生是因为函数只在执行时才去获取外层参数i,若函数定义时可以获取到i,问题便可解决。而默认参数正好可以完成定义时获取i值且运行函数时无需参数输入的功能,所以在函数f()定义中改为f(m = i),函数f返回值改为m*m即可.
    查看全部
    0 采集 收起 来源:python中闭包

    2016-05-13

  • 引入参数__cmp__来比较大小,排序。对内置的数据类型int,str排序,python的sorted按照默认的比较函数cmp排序。但是对类的实例排序时,就必须用我们自己的特殊方法__cmp__.记得要用__repr__ = __str__, 不然排序sorted(L)会打印出比较后的内存地址。 解决例题思考问题,加入isinstance(s, student)方法,用if else循环来解决.if 下面同样的缩进块,可以直接跟return 而不用加else __repr__ = __str__
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2016-05-13

  • 如果把一个类的实例变成str,就需要实现特殊方法__str__(): 但是直接敲p,__str__()不会被调用。因为python定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员。父类先传入参数,等到执行print时再执行__str__函数(刚开始只是程序走一遍,没有执行函数内的项目。
    查看全部
  • 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。举例如下: # 希望一次返回3个函数,分别计算1x1,2x2,3x3: def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f) return fs f1, f2, f3 = count() 你可能认为调用f1(),f2()和f3()结果应该是1,4,9,但实际结果全部都是 9(请自己动手验证)。 原因就是当count()函数返回了3个函数时,这3个函数所引用的变量 i 的值已经变成了3。由于f1、f2、f3并没有被调用,所以,此时他们并未计算 i*i,当 f1 被调用时
    查看全部
    0 采集 收起 来源:python中闭包

    2016-05-13

  • def calc_sum(lst): def lazy_sum(): return sum(lst) return lazy_sum 注意: 发现没法把 lazy_sum 移到 calc_sum 的外部,因为它引用了 calc_sum 的参数 lst。 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变
    查看全部
    0 采集 收起 来源:python中闭包

    2016-05-13

  • sorted()也是一个高阶函数,可传入一个比较函数f(x,y). 如果x应该排在y前面,返回-1,排在后面返回1,相等0
    查看全部

举报

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

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