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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • mark
    查看全部
    0 采集 收起 来源:python中 __len__

    2017-01-14

  • 本教程是廖雪峰所写,但是看2-8并没有太明白返回函数的意思,看了廖雪峰的官网,才搞懂。 以廖雪峰官网的例子说明: def lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum 当调用lazy_sum的时候: f=lazy_sum(1,3,5,7,9) 按照函数的要求,最后返回的是sum函数,虽然在lazy_sum中调用了sum进行计算,但是sum的最终计算结果都是放在函数sum中,这时候即f=sum(),再次调用f时: f() 这时候才将sum的计算结果进行展示。这种就称为闭包
    查看全部
  • 2-8不太明白,需要再看看
    查看全部
  • 上述 Student 类实现了__cmp__()方法,__cmp__用实例自身self和传入的实例 s 进行比较,如果 self 应该排在前面,就返回 -1,如果 s 应该排在前面,就返回1,如果两者相当,返回 0。 def __cmp__(self, s): if self.score == s.score: return cmp(self.name, s.name) return -cmp(self.score, s.score)
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2017-01-14

  • **kw是关键字参数,用于字典 iteritems()用于字典kw的遍历 setattr(self, k, v)就等价于self.k = v 综上就是,遍历dict kw 中的属性,给每个属性设置了属性值 for k,v in kw.iteritems() setattr(self,k,v)
    查看全部
  • 下一步的学习方向
    查看全部
    0 采集 收起 来源:课程总结

    2017-01-14

  • package
    查看全部
  • abs=绝对值
    查看全部
  • Python的函数不但可以返回int、str、list、dict等数据类型,还可以返回函数! 例如,定义一个函数 f(),我们让它返回一个函数 g,可以这样写: def f(): print 'call f()...' # 定义函数g: def g(): print 'call g()...' # 返回函数g: return g 仔细观察上面的函数定义,我们在函数 f 内部又定义了一个函数 g。由于函数 g 也是一个对象,函数名 g 就是指向函数 g 的变量,所以,最外层函数 f 可以返回变量 g,也就是函数 g 本身。 调用函数 f,我们会得到 f 返回的一个函数: >>> x = f() # 调用f() call f()... >>> x # 变量x是f()返回的函数: <function g at 0x1037bf320> >>> x() # x指向函数,因此可以调用 call g()... # 调用x()就是执行g()函数定义的代码 请注意区分返回函数和返回值: def myabs(): return abs # 返回函数 def myabs2(x): return abs(x) # 返回函数调用的结果,返回值是一个数值 返回函数可以把一些计算延迟执行。例如,如果定义一个普通的求和函数: def calc_sum(lst): return sum(lst) 调用calc_sum()函数时,将立刻计算并得到结果: >>> calc_sum([1, 2, 3, 4]) 10 但是,如果返回一个函数,就可以“延迟计算”: def calc_sum(lst): def lazy_sum(): return sum(lst) return lazy_sum # 调用calc_sum()并没有计算出结果,而是返回函数: >>> f = calc_sum([1, 2, 3, 4]) >>> f <function lazy_sum at 0x1037bfaa0> # 对返回的函数进行调用时,才计算出结果: >>> f() 10 由于可以返回函数,我们在后续代码里就可以决定到底要不要调用该函数。
    查看全部
  • 这里我写的和给出的参考答案不一样,参考答案是提取出s的首字母,将其变为大写,然后提取剩余的所有字母变为小写。而我是先用lower将s所有字母变为小写,然后用capitalize将首字母大写,这样避免了‘+’的使用
    查看全部
  • 1.map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。 2.capitalize() 首字母大写,其余全部小写 upper() 全转换成大写 lower() 全转换成小写 title() 标题首字大写,如"i love python".title() "I love python"
    查看全部
  • L2 = sorted(L1, lambda p1, p2: cmp(p1.name, p2.name)) L2 = sorted(L1, key=lambda x:x.name)
    查看全部
  • lambda: 'A'等价于return'A',相当于一个函数f,那么f()='A'.因此,p1.get_grade=f,p1.get_grade()=f() 就是这个意思,但没有说全 p1.get_grade是属性,只不过这里的属性是一个函数对象,即f
    查看全部
  • 4.9节,抄同学的 不知道理解清楚了没,函数和方法定义是一样的,在本节中之所以函数调用不需要传入self ,而方法需要,是因为函数不是依附类而在,而方法是在类中定义的。请看python中关于函数和方法的定义: 函数function —— A series of statements which returns some value to a caller. It can also be passed zero or more arguments which may be used in the execution of the body. 方法method —— A function which is defined inside a class body. If called as an attribute of an instance of that class, the method will get the instance object as its first argument (which is usually called self)
    查看全部
  • 4.9节,抄同学的 不知道理解清楚了没,函数和方法定义是一样的,在本节中之所以函数调用不需要传入self ,而方法需要,是因为函数不是依附类而在,而方法是在类中定义的。请看python中关于函数和方法的定义: 函数function —— A series of statements which returns some value to a caller. It can also be passed zero or more arguments which may be used in the execution of the body. 方法method —— A function which is defined inside a class body. If called as an attribute of an instance of that class, the method will get the instance object as its first argument (which is usually called self)
    查看全部

举报

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

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