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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 为啥__init__()只调用了一次

    查看全部
  • 像这样,同时继承自 BC,也就是 D 拥有了 A、B、C 的全部功能。多重继承通过 super()调用__init__()方法时,A 虽然被继承了两次,但__init__()只调用一次:

    >>> d = D('d')
    init A...
    init C...
    init B...
    init D...
    本节例子中,既然B,C,D继承了A,相当于继承了print 'init A',但是为啥不会多次输出init A...
    查看全部
  • 这题不会啊

    没明白这题讲的什么


    查看全部
    0 采集 收起 来源:python中多态

    2018-05-15

  • 函数本质是一个对象。

    所有的函数都是可调用对象。

    对实例定义__call__()方法后,该实例也可被调用。

    注意:所有参与计算的代码写在__call__()内的。写在类的其它地方貌似不起作用。

    格式:

    def __call__(self,参数):

        xxxx

        xxxx

    查看全部
    0 采集 收起 来源:python中 __call__

    2018-05-15

  • __slots__的目的是限制当前类所能拥有的属性;如果不使用动态增加属性,使用__slots__能节省内存空间。

    __slots__语句必须放在类中初始化实例属性语句上面

    __slots__作用范围:当前类。不能继承。

    格式:__slots__ = ('属性名1','属性名2',...'属性名n')

    查看全部
    0 采集 收起 来源:python中 __slots__

    2018-05-15

  • @property                     #它下的内容貌似只能用于输出

    def 方法名1(self):

        XXX

    @方法名1.setter            #它下的内容貌似只能用于输入

    def 方法名1(self,参数)

         XXX


    ##@property

    ##@方法名.setter    它们两是一个固定搭配。

    ***********************************************

    如果@property没有下行的@方法名.setter方法,那它里面的内容只能为只读;它里面的代码也不能操作实例上的属性(赋值)

    查看全部
    0 采集 收起 来源:python中 @property

    2018-05-15

  • 两有理数相减,被减数<减数,会报错,怎么处理?

    查看全部
  • strip([char])函数指去除字符串头和尾部的指定字符,为空则去除空串,filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该题把调用函数改为了匿名函数来执行,简化代码执行。

    查看全部
  • 注意: s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。

    当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),

    filter 不会生成新list

    map生成新函数

    查看全部
  • 高阶函数可以接收函数做参数,有些时候,我们不需要显式地定义函数,直接传入匿名函数更方便。

    在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算 f(x)=x时,除了定义一个f(x)的函数外,还可以直接传入匿名函数:

    >>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])
    [1, 4, 9, 16, 25, 36, 49, 64, 81]

    通过对比可以看出,匿名函数 lambda x: x * x 实际上就是:

    def f(x):
        return x * x

    关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。

    匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。

    使用匿名函数,可以不必定义函数名,直接创建一个函数对象,很多时候可以简化代码:

    >>> sorted([1, 3, 9, 5, 0], lambda x,y: -cmp(x,y))
    [9, 5, 3, 1, 0]

    返回函数的时候,也可以返回匿名函数:

    >>> myabs = lambda x: -x if x < 0 else x 
    >>> myabs(-1)
    1
    >>> myabs(1)
    1


    查看全部
  • 内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)

    查看全部
    0 采集 收起 来源:python中闭包

    2018-05-14

  • 在pycharm上编写的时候,需要导入函数工具包https://img1.sycdn.imooc.com//5af909dd0001197003550525.jpg

    查看全部
  • python中返回函数:可以像一般返回一个Int,list,str,dict一样,返回一个函数。

    查看全部
  • reduce(lambda x,y : x*y, lst)


    查看全部
  • Python的函数不但可以返回int、str、list、dict等数据类型,还可以返回函数!

    查看全部

举报

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

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