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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 1.reduce()接收一个函数f,一个list。函数f必须接收两个参数,reduce()对list的每个元素反复调用函数f,返回最终结果值。 2.eg: def f(x,y): return x+y 此时reduce(f,[1,3,5,7,9])结果为25,即求和sum() 3.reduce()还可以接收第三个可选参数,作为计算的初始值。 reduce(f,[1,3,5,7,9],100)结果为125
    查看全部
  • import time, functools def performance(unit): def decorator(f): @functools.wraps(f)#收到了f之后,就把f的属性传给下面的函数 def fn(*args,**kw): t_start=time.time() r=f(*args,**kw) t_end=time.time() if unit=='ms': print 'call %s() in %f%s' % (f.__name__, (t_end - t_start)*1000,unit) else: print 'call %s() in %f%s' % (f.__name__, (t_end - t_start),unit) return r return fn return decorator @performance('ms') def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial.__name__#这里是__name__,包括了四条横线
    查看全部
  • 函数中的内容与函数定义相比都要缩进,不能认错了哟
    查看全部
  • 空格问题真是坑死个爹,以后不能再用tab键。
    查看全部
  • 因为要整参数进去,所以接收函数和装饰函数必须要在两层定义函数中进行,内层定义时要加上(*args,**kw),便于下面调用f(*args,**kw)
    查看全部
  • def log(f):#先接收 def fn(x):#再修饰 print 'call ' + f.__name__ + '()...' return f(x) return fn
    查看全部
  • t_start=time.time() r=f(*args,**kw) t_end=time.time()#函数调用时间 print 'call %s() in %fs' % (f.__name__, (t_end - t_start))#这个跟c语言差不多的。只不过后面要括号。
    查看全部
  • 2.4
    查看全部
  • 匿名函数简化代码:第一: sorted([1, 3, 9, 5, 0], lambda x,y: -cmp(x,y)) 第二: myabs = lambda x: -x if x < 0 else x 也可以返回匿名函数
    查看全部
  • 不懂为什么,先记着,返回函数不要引用任何循环变量,或者后续会发生变化的变量。
    查看全部
    0 采集 收起 来源:python中闭包

    2017-01-26

  • def calc_sum(lst): def lazy_sum(): return sum(lst)#第一点:使用了外部函数的参数 return lazy_sum第二点:返回了内部函数,叫闭包 注意: 发现没法把 lazy_sum 移到 calc_sum 的外部,因为它引用了 calc_sum 的参数 lst。 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)
    查看全部
    1 采集 收起 来源:python中闭包

    2017-01-26

  • 1,返回函数只能返回函数名(不包括括号)。 2,定义返回函数时,定义的函数里面有参数则调用的时候里面也得有参数。定义的函数里面没有参数,则调用也不需要,别用混了。 3,嵌套定义函数,外层的参数可以给内层用
    查看全部
  • 在count函数的循环内部,如果借助f函数,就可以避免引用循环变量i
    查看全部
    0 采集 收起 来源:python中闭包

    2017-01-25

  • 等于号和赋值号再乱用我就跟比拼了
    查看全部
  • 注意: s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),
    查看全部

举报

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

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