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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 也就是说,方法调用将作用在 x 的实际类型上。s 是Student类型,它实际上拥有自己的 whoAmI()方法以及从 Person继承的 whoAmI方法,但调用 s.whoAmI()总是先查找它自身的定义,如果没有定义,则顺着继承链向上查找,直到在某个父类中找到为止。 由于Python是动态语言,所以,传递给函数 who_am_i(x)的参数 x 不一定是 Person 或 Person 的子类型。任何数据类型的实例都可以,只要它有一个whoAmI()的方法即可,这是动态语言和静态语言(例如Java)最大的差别之一。动态语言调用实例方法,不检查类型,只要方法存在,参数正确,就可以调用。
    查看全部
    0 采集 收起 来源:python中多态

    2017-09-09

  • 一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。 函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。
    查看全部
  • 方法:问题的产生是因为函数只在执行时才去获取外层参数i,若函数定义时可以获取到i,问题便可解决。而默认参数正好可以完成定义时获取i值且运行函数时无需参数输入的功能,所以在函数f()定义中改为f(m = i),函数f返回值改为m*m即可.
    查看全部
    0 采集 收起 来源:python中闭包

    2017-09-09

  • 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
    查看全部
    0 采集 收起 来源:python中闭包

    2017-09-09

  • 要特别注意的是,初学者定义__init__()方法常常忘记了 self 参数:
    查看全部
  • 怎么弄
    查看全部
  • 如何排序
    查看全部
  • isinstance 是什么
    查看全部
  • 不会
    查看全部
  • 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。
    查看全部
    0 采集 收起 来源:python中闭包

    2017-09-08

  • Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员。 __repr__ = __str__
    查看全部
  • 在教程的事例函数中,调用filter函数,如果不使用print是无法得出结果的
    查看全部
  • 在第二个事例函数中 //def is_not_empty(s): // return s and len(s.strip()) > 0 对于语句return s and len(s.strip()) >0 返回值是一个bool类型,条件一是s,即s不为空,条件二是求得当字符串去掉无用字符后字符长度不为0。 而且在python中条件语句的‘与’不能用&&,应该用and
    查看全部
  • filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list, 这个函数 f 的作用是对 每个元素 //和map()函数式类似的,都会有一个依次的逻辑在里面 进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由 符合条件 //这个符合条件是很讲究的,在例函数中 //def is_odd(x): // return x % 2 == 1 //filter(is_odd, [1, 4, 6, 7, 9, 12, 17]) //结果:[1, 7, 9, 17] // //可以看到,is_odd()函数返回值是一个bool类型的值,但是在输出过程中,显示的却是x的值,这个filter函 //数的根本目的是得到x的值,而不是函数的返回值 元素组成的新list 在三个内建函数中,调用上都会有第三方自制函数的加入,而且这个自制函数的调用形式以函数名的形式给出,个人觉得有点像c语言中的指向函数的指针,而这个函数名就直接类似于指针的传入??
    查看全部
  • reduce()函数接收的参数和 map()类似,一个函数 f,一个list, 但行为和 map()不同, reduce()传入的函数 f 必须接收两个参数, reduce()对list的每个元素反复调用函数f,并返回最终结果值。
    查看全部

举报

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

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