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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 返回函数不要引用任何循环变量,或者后续会发生变化的变量 def f(j): def g(): return j*j return g 它可以正确地返回一个闭包g,g所引用的变量j不是循环变量,因此将正常执行。 在count函数的循环内部,如果借助f函数,就可以避免引用循环变量i。 题目方法:问题的产生是因为函数只在执行时才去获取外层参数i,若函数定义时可以获取到i,问题便可解决。而默认参数正好可以完成定义时获取i值且运行函数时无需参数输入的功能,所以在函数f()定义中改为f(m = i),函数f返回值改为j*j即可.
    查看全部
    0 采集 收起 来源:python中闭包

    2016-07-10

  • def calc_prod(lst): def lazy_prod(): def f(x, y): return x * y 返回一个值给f(x,y) return reduce(f, lst, 1) 返回一个一个值给lazy_prod函数 return lazy_prod 返回lacy_prod函数 f = calc_prod([1, 2, 3, 4]) print f()
    查看全部
  • >>> x = f() # 调用f() call f()... >>> x # 变量x是f()返回的函数: <function g at 0x1037bf320> >>> x() # x指向函数,因此可以调用 call g()... # 调用x()就是执行g()函数定义的代码 可以返回函数 而且可以延迟计算
    查看全部
  • 匿名函数
    查看全部
  • 闭包!
    查看全部
    0 采集 收起 来源:python中闭包

    2016-07-09

  • filter() ps:strip()
    查看全部
  • def calc_prod(lst): def lazy_sum(): return reduce((lambda x,y: x*y),lst) return lazy_sum f = calc_prod([1, 2, 3, 4]) print f() ambda是一个匿名函数,x,y是他的参数,x*y是他的返回值,按着你下面那么写的话,函数只使用以此所以用匿名函数可以节省内存中定义变量的空间,而且能是程序更简洁 reduce是横向逐个元素进行运算
    查看全部
  • 函数名实质
    查看全部
  • 变量可以指向函数
    查看全部
  • s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符
    查看全部
  • filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
    查看全部
  • ·函数名是指向函数的变量 ·高阶函数:能接收函数作为参数的函数
    查看全部
  • ·不是纯函数式编程:允许有变量 ·支持高阶函数:函数也可以作为变量传入 ·支持闭包:有了闭包就能返回函数 ·有限度地支持匿名函数
    查看全部
  • sorted()函数 是排序函数 可以自定义 如果x应该排在y前面,返回-1 如果x应该排在y后面,返回1 如果x和y相等,返回0
    查看全部
  • filter函数接受一个函数f,一个list f函数对每个元素进行判断,返回1/0 返回符合要求的元素组成新的list
    查看全部

举报

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

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