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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 2-8Python中返回函数 def f(): print 'call f()...' def g(): print 'call g()...' return g 第一:x=f() >>>x=f() call f()... >>>x() call g()... 第二:最后return 函数时,返回是缩进4格
    查看全部
  • 考察下面的函数 f: def f(j): def g(): return j*j return g 它可以正确地返回一个闭包g,g所引用的变量j不是循环变量,因此将正常执行。 在count函数的循环内部,如果借助f函数,就可以避免引用循环变量i。 参考代码: 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()
    查看全部
    0 采集 收起 来源:python中闭包

    2018-03-05

  • 解释器内部会将**kw拆分成对应的dict. setattr()方法接受3个参数:setattr(对象,属性,属性的值) setattr(self,k,v)相当于self.k = v kw.iteritems()历遍字典kw的所有key和value,分别匹配k,v self.__dict__.update(kw) #相当与给属性进行更新,更新后的内容添加到原始的self里面
    查看全部
  • 但是,考察上一小节定义的 calc_sum 函数: def calc_sum(lst): def lazy_sum(): return sum(lst) return lazy_sum 注意: 发现没法把 lazy_sum 移到 calc_sum 的外部,因为它引用了 calc_sum 的参数 lst。 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
    查看全部
    0 采集 收起 来源:python中闭包

    2018-03-05

  • super().__init__
    查看全部
  • log as logger
    查看全部
  • def calc_prod(lst): def lazy_prod(): def f(x, y): return x * y return reduce(f, lst, 1) #或者return reduce((lambda x,y: x*y),lst) return lazy_prod f = calc_prod([1, 2, 3, 4]) print f() #reduce的用法还是不熟啊。。。
    查看全部
  • k('name')=v(value){k:v}
    查看全部
  • def cmp_ignore_case(s1, s2): u1 = s1.upper() u2 = s2.upper() if u1 < u2: return -1 if u1 > u2: return 1 return 0 print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case) #没什么好说的,记一下吧
    查看全部
  • import math def is_sqr(x): return math.sqrt(x) % 1 == 0 #或者 # r = math.sqrt(x) # return r * r == x # 这里注意一下,条件ture的时候直接返回参数 print filter(is_sqr, range(1, 101))
    查看全部
  • class Person(object): pass 无属性
    查看全部
  • def prod(x, y): return x * y print reduce(prod, [2, 4, 5, 7, 12]) #reduce有点神奇哟
    查看全部
  • def format_name(s): return s[0].upper() + s[1:].lower() print map(format_name, ['adam', 'LISA', 'barT']) #map()可以把list通过函数来改写并形成新的list
    查看全部
  • 解释器内部会将**kw拆分成对应的dict. setattr()方法接受3个参数:setattr(对象,属性,属性的值) setattr(self,k,v)相当于self.k = v kw.iteritems()历遍字典kw的所有key和value,分别匹配k,v
    查看全部
  • 注意:map()函数不改变原有的 list,而是返回一个新的 list。
    查看全部

举报

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

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