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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • append() 方法向列表的尾部添加一个新的元素。只接受一个参数。
    查看全部
    0 采集 收起 来源:python中闭包

    2016-11-22

  • 返回函数不要引用任何循环变量,或者后续会发生变化的变量。
    查看全部
    0 采集 收起 来源:python中闭包

    2016-11-22

  • 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变
    查看全部
    0 采集 收起 来源:python中闭包

    2016-11-22

  • 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)
    查看全部
    0 采集 收起 来源:python中闭包

    2016-11-22

  • f.__name__下划线是两个短横线
    查看全部
  • import time def performance(f): def t(*args,**kw): print 'call '+f._name_+'() in'+time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())) return f(*args,**kw) return t @performance def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
    查看全部
  • import time def performance(f): def t(*args,**kw): now = time.time() print 'call'+f._name_+'() in',now return f(*args,**kw) return t @performance def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
    查看全部
  • 只要有read()方法,就称为File-like Object,都可以传给json.load(),需要写一个read方法,才可以使用json.load()
    查看全部
    0 采集 收起 来源:python中多态

    2016-11-22

  • def count(): fs = [] for i in range(1, 4): def f(m = i): return m * m fs.append(f) return fs f1, f2, f3 = count() print f1(), f2(), f3() 方法:问题的产生是因为函数只在执行时才去获取外层参数i,若函数定义时可以获取到i,问题便可解决。而默认参数正好可以完成定义时获取i值且运行函数时无需参数输入的功能,所以在函数f()定义中改为f(m = i),函数f返回值改为m*m即可.且不改变i的值
    查看全部
    0 采集 收起 来源:python中闭包

    2016-11-22

  • def count(): fs = [] for i in range(1, 4): def f(m = i): return m * m fs.append(f) return fs f1, f2, f3 = count() print f1(), f2(), f3() 方法:问题的产生是因为函数只在执行时才去获取外层参数i,若函数定义时可以获取到i,问题便可解决。而默认参数正好可以完成定义时获取i值且运行函数时无需参数输入的功能,所以在函数f()定义中改为f(m = i),函数f返回值改为m*m即可.且不改变i的值
    查看全部
    0 采集 收起 来源:python中闭包

    2016-11-22

  • 由于Python是动态语言,类属性也是可以动态添加和修改的
    查看全部
  • attribute意思是属性,set attribute设置属性 除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性 *args 以元组的形式接受剩余非关键字参数 **kw 以字典的形式接受剩余关键字参数 .iteritems方法将字典所有的项按(key,value)的形式返回迭代器对象
    查看全部
  • attribute意思是属性,set attribute设置属性 除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性 *args 以元组的形式接受剩余非关键字参数 **kw 以字典的形式接受剩余关键字参数 .iteritems方法将字典所有的项按(key,value)的形式返回迭代器对象
    查看全部
  • def count(): fs = [] for i in range(1, 4): def f(j): def g(): return j*j return g r = f(i) fs.append(r) return fs f1, f2, f3 = count() print f1(), f2(), f3() 上面的代码的得到的结果如下: [<function g at 0x035762F0>, <function g at 0x0356FF70>, <function g at 0x03576330>] 为什么不是[1,4,9]啊? 看不太懂“闭包”
    查看全部
    0 采集 收起 来源:python中闭包

    2018-03-22

  • **kw是关键字参数,用于字典 iteritems()用于字典kw的遍历 setattr(self, k, v)就等价于self.k = v 综上就是,遍历dict kw 中的属性,给每个属性设置了属性值
    查看全部

举报

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

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