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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • < 函数+实参高阶函数+返回值高阶函数+嵌套函数+语法糖 = 装饰器 >


    查看全部
  • 返回函数不要引用任何循环变量,或者后续会发生变化的变量。返回函数应用的变量应该是一个不可变的数据类型
    查看全部
    0 采集 收起 来源:python中闭包

    2018-12-06

  • #-*-coding:utf-8-*-
    def calc_prod(lst):
        def lazy_prod():
            def f(x,y):
                return x*y
            return reduce(f,lst,1)
        return lazy_prod

    t = calc_prod([1, 2, 3, 4])
    print t()

    #reduce() 函数会对参数序列中元素进行累积。

    #函数将一个数据集合(链表,元组等)中的所有数据进行下##列操作:用传给 reduce 中的函数 #function(有两个参数)先对集合中的第 1、2 #个元素进行操作,得到的结果再与第三个数据用 #function 函数运算,最后得到一个结果。

    查看全部
  • pythons中reduce()函数已经被从全局名字空间里移除了,现在被放置在functools模块里,使用ta需要加上from functools  import reduce语句来调用reduce()函数,使用语句import functools不行 但不知道为什么

    查看全部
  • 内层函数引用了外层函数的变量,然后返回内层函数的情况,称为闭包。

    闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的变量在函数返回后不能变。所以,返回函数不要引用任何循环变量,或者后续会发生变化的变量。

    注意到   fs.append(f)中传入的为一个函数f,即在list中对应着三个函数地址(试试print f1,f2,f3 会显示为三个地址),调用f1,f2,f3 时则都对应着调用f函数,此时for循环已经结束,最终赋值为3,即return 3*3。

    尝试改写函数: fs.append(f()),此时传入list为三个值1,4,9.即[1,4,9],当执行f1,f2,f3=count()语句时,为依次取出list表中的值,即1,4,9


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

    2018-12-06

  • 这节还没完全理解

    查看全部
  • python可以返回函数,函数名就是指向函数的变量,函数返回变量就可以返回函数。但需注意区分返回函数和返回函数值,返回函数可以把一些计算延迟进行

    def myabs():
        return abs   # 返回函数def myabs2(x):
        return abs(x)   # 返回函数调用的结果,返回值是一个数值


    查看全部
  • sorted()内置高阶函数,用来排序,默认从小到大。可以接受第二个参数比较函数,比较函数的定义是,传入两个待比较的元素x,y,如果 x 应该放在y的前面,返回-1,如果x 应该放在y的后面,返回1.相等返回0.

    查看全部
  • 使用高阶函数的函数参数,只需要写函数名,是传入,而不是调用。
    查看全部
  • 如果用map函数,还有dict的几个方法,都要在前面加list,否则只能返回一个地址,而不是列表。
    查看全部
  • __slots__限制当前类所能拥有的属性。__slots__=()

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

    2018-12-04

  • 可以用装饰器函数把方法“装饰”成属性使用。

    @property,只读属性

     @score.setter 是@property装饰后的副产品

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

    2018-12-04

  • 获取类实例的有多少个元素,类需要提供一个特殊方法__len__()

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

    2018-12-04

  • 对int,str等内置数据类型排序时,python的sorted()按照默认的比较函数cmp排序,但是,如果对一组类的实例排序时,就必须提供我们自己的特殊方法__cmp__().

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

    2018-12-04

  • __str__()和__repr__()是print 对应的两个特殊方法__str__()用于显示给用户,而__repr__()用于显示给开发人员。

    查看全部

举报

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

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