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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 首先要明白,装饰器是为了避免代码的重复编写而产生的。 下面面先写一个装饰器 可以假想,要写很多代码,里面都要用到一个叫做work的函数,假如要在里面添加一个打印print函数,那岂不是要每个函数每个函数一个个去修改,显然这样效率十分低下,于是就诞生了装饰器这种东西。 #下面是work函数 def work(x): return x*x 如果我们要在里面打印一个hello,那就可以改成 def work(x): return x*x print 'hello' 一个函数感觉还好,但是要改写一百个就不这么容易了。 于是 def test(f):#这里的f传入上面写的work原始函数。 def ww(x): print 'hello'#添加了我们要打印hello的要求。 return f(x)#ww的返回值是f函数,也就是传入的work函数被原封不动返回 return ww#返回的ww函数里面添加了打印要求,也将work函数一并返回 #上面便定义了一个完整的装饰器,可以传入任何一个函数,都会添加上打印hello的功能,相当于装饰了东西。 至于@test来简化装饰器,是基于以下代码。 def test(f): def ww(x): print 'hello' return f(x) return ww @test等价于 f=test(f) 函数名f本身就是一个变量,相当于将f函数传入test,在里面添加了想要的功能之后,返回给f,f是一个变量,他现在已经不是最开始的f了,而是添加了功能之后的f,因此最原始的f已经被隐藏。
    查看全部
  • print filter(lambda s:s and len(s.strip())>0, ['test', None, '', 'str', ' ', 'END']) filter()函数是筛选函数会将后面List的元素一个一个传给前面的筛选要求函数里面,最 后再将筛选出来的数据组成一个新的list。 map()函数是有两个参数,第一个参数传入一个函数,第二个参数是一个list,它会将 list里面的每个元素依次交给前面的函数,最后返回的值再拼成一个新的list。 reduce()函数是以个循环计算的函数,最后返回前面给的循环计算函数而得到的值。
    查看全部
  • print 'call %s() in %f %s' % (f.__name__, t, unit) 格式化输出
    查看全部
  • 变量可以指向函数 函数的参数可以接受变量 一个函数可以接受另一个函数作为参数 能接收函数作为参数的函数就是高阶函数
    查看全部
  • 对比上下两段代码
    查看全部
    0 采集 收起 来源:python中闭包

    2017-10-01

  • sorted()默认从小到大排序,可以后面传入排序函数进行自定义排序。 传入函数应当有两个待比较的参数,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。
    查看全部
  • #import一些函数包之后,要使用它们,依然需要在前面加上包名才可以使用。
    查看全部
  • 如何正确实现特殊方法
    查看全部
  • python的特殊方法的特点
    查看全部
  • python的特殊方法
    查看全部
  • 任何数据类型的实例都有一个特殊方法__str__()
    查看全部
  • **kw是关键字参数,用于字典 iteritems()用于字典kw的遍历 setattr(self, k, v)就等价于self.k = v 综上就是,遍历dict kw 中的属性,给每个属性设置了属性值
    查看全部
  • 闭包?不理解
    查看全部
    0 采集 收起 来源:python中闭包

    2017-09-30

  • 直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,函数调用不需要传入 self,但是方法调用需要传入 self。
    查看全部
  • 创建实例使用 类名+(),类似函数调用的形式创建: xiaoming = Person() xiaohong = Person()
    查看全部

举报

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

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