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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 中偏函数: functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2: >>> import functools >>> int2 = functools.partial(int, base=2) >>> int2('1000000') 64 >>> int2('1010101') 85 所以,functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了。
    查看全部
    0 采集 收起 来源:python中偏函数

    2018-03-22

  • Python装饰器: Python的 decorator 本质上就是一个高阶函数,它接收一个函数作为参数,然后,返回一个新函数。 使用 decorator 用Python提供的 @ 语法,这样可以避免手动编写 f = decorate(f) 这样的代码。 考察一个@log的定义: def log(f): def fn(x): print 'call ' + f.__name__ + '()...' return f(x) return fn 对于阶乘函数,@log工作得很好: @log def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10) 结果: call factorial()... 3628800 .****适应任意参数的log装饰器 要让 @log 自适应任何参数定义的函数,可以利用Python的 *args 和 **kw,保证任意个数的参数总是能正常调用: def log(f): def fn(*args, **kw): print 'call ' + f.__name__ + '()...' return f(*args, **kw) return fn
    查看全部
  • 匿名函数: 关键字lambda 表示匿名函数;如 map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]) 冒号前面的 x 表示函数参数。
    查看全部
  • 闭包: 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。 返回函数不要引用任何循环变量,或者后续会发生变化的变量。 如: # 希望一次返回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。
    查看全部
    0 采集 收起 来源:python中闭包

    2017-05-13

  • python中的闭包 f1,f2,f3 需要的是函数 如果直接用 def f(x): return x*x 就是返回值了
    查看全部
    0 采集 收起 来源:python中闭包

    2017-05-13

  • 注意: s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),如下: a = ' 123' a.strip() 结果: '123' a='\t\t123\r\n' a.strip() 结果:'123'
    查看全部
  • 函数名是指向函数的变量 高阶函数:能接收函数做参数的函数
    查看全部
  • 注意: s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')
    查看全部
  • import math math.sqrt
    查看全部
  • python中的返回函数
    查看全部
  • 自定义排序函数sorted. sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。
    查看全部
  • f1 f2 f3 需要的是函数 如果直接用 def f(x): return x*x 就是返回值了
    查看全部
    1 采集 收起 来源:python中闭包

    2017-05-13

  • map(func, list): in/out list 一一映射 reduce(func, list, param3): in1 op in2 = out1; out1 op in3 = out2; out2 op in4 = out5...可以有param3提供初始值val,先行计算val op in1 = in1 filter(func, list): Just filter...
    查看全部
  • python过滤器filter()
    查看全部
  • 返回函数作为一个结果,不带()
    查看全部

举报

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

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