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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • *args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前
    查看全部
  • 定义decorator def log(f): #定义装饰器高阶函数,以要装饰的函数f作为参数 def fn(x): #内部相当于重构要装饰的函数f,重命名为fn print 'call ' + f.__name__ + '()...' #加特技print return f(x) #为了不重写原来的函数f的代码,所以用return f(x)代替原来的代码。 return fn #将被装饰过的新的函数fn返回
    查看全部
  • setattr()方法接受3个参数:setattr(对象,属性,属性的值) setattr(self,k,v)相当于self.k = v kw.iteritems()历遍字典kw的所有key和value,分别匹配k,v
    查看全部
  • 问题:函数名 g 就是指向函数 g 的变量? 由于函数 g 也是一个对象,函数名 g 就是指向函数 g 的变量。函数名就是变量? 是这样规定的吗还是...?不理解,谁能举个通俗一点的栗子 2015-03-23 源自:python进阶 2-8 248 浏览 2 回答 最佳回答 2015-03-23 这么理解,函数名指向了一个匿名函数,这个匿名函数是个对象。再写一个以g命名的函数就是对变量重新赋值了,所以Python里没有重载这个概念。 仗剑闯江湖 回复 0 jackanapes (提问者) 重温了一下前面高阶函数的概念,现在理解了。函数名其实就是指向函数的变量,变量可以指向一个函数,并且直接对这个变量进行调用和调用函数的效果是一样的!
    查看全部
  • 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。
    查看全部
  • 解释器内部会将**kw拆分成对应的dict. setattr()方法接受3个参数:setattr(对象,属性,属性的值) setattr(self,k,v)相当于self.k = v kw.iteritems()历遍字典kw的所有key和value,分别匹配k,v
    查看全部
  • functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2
    查看全部
    0 采集 收起 来源:python中偏函数

    2016-06-06

  • 可见,由于decorator返回的新函数函数名已经不是'f2',而是@log内部定义的'wrapper'。这对于那些依赖函数名的代码就会失效。decorator还改变了函数的__doc__等其它属性。如果要让调用者看不出一个函数经过了@decorator的“改造”,就需要把原函数的一些属性复制到新函数中:
    查看全部
  • __init__方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的 初始化 。注意,这个名称的开始和结尾都是双下划线。
    查看全部
  • __init__方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的 初始化 。注意,这个名称的开始和结尾都是双下划线。
    查看全部
  • 关键字lambda 表示匿名函数,冒号前面的变量表示函数参数
    查看全部
  • 在Python中,所有数据类型都可以视为对象,当然也可以自定义对象。自定义的对象数据类型就是面向对象中的类(Class)的概念
    查看全部
  • s.append(f),只是将每一个f()的引用保存进了list,并没有进行对于i的计算,所以导致最后在运行了f(1)之后,i已经变为了3,所以会一样结果都为9.只要将这里改为fs.append(f())即可,这样就在这一步的时候已经进行了i*i的运算,将结果保存了,通过这一题可以注意到在python这门语言之中,f与f()的大区别。
    查看全部
    0 采集 收起 来源:python中闭包

    2016-06-06

  • 内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。
    查看全部
    0 采集 收起 来源:python中闭包

    2016-06-06

  • encoding:把一个Python对象编码转换成Json字符串 decoding:把Json格式字符串解码转换成Python对象
    查看全部

举报

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

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