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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 函数的装饰器:是个高阶函数,传入一个函数并返回一个新的函数; 作用:定义一个函数,想在函数运行的时候动态添加新的功能,又不行修改原来的代码;
    查看全部
  • lambda x:一个表达式,也是返回的结果; Eg:map(lambda x:x*x ,[1,2,3,4]) My abs= lambda x: -x if x<0 else x
    查看全部
  • 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。举例如下:
    查看全部
    0 采集 收起 来源:python中闭包

    2019-01-17

  • 闭包:函数的内部函数引用外部函数的变量,并返回内部函数; 注意:函数内部禁止引用循环可变变量
    查看全部
    0 采集 收起 来源:python中闭包

    2019-01-17

  • print Person.__count 必须写在__init__里面才能访问

    写在外面则访问不到

    查看全部
  • count在这里是类变量,属于类本身,所以需要使用类名来引用。每实例化一个Person类,都会执行一次__init__函数,所以count变会加1。

    __init__是一个构造函数,在生成实例时调用。构造函数外围的count=0理解成是一个默认参数(类属性),而在实例化对象的实现最先调用的是构造函数,然后在第一次调用构造函数里面的count因为没有值就是使用默认参数,因此第一次调用的count是0的默认值,然后第二次调用的时候是有参调用因此此用的是有参的count,以此类推。

    查看全部
  • sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。

    查看全部
  • count是类属性,类的名字叫Person,self是实例名

    查看全部
  • map(x,[..])第一个参数x,是处理第二个参数的函数,

    查看全部
  • self即自身,传参数的时候不传进去,self.__score意思就是自身的(不能被访问的)分数,然后调用的时候p=Person('Bob',59)这时候实参59会作为score赋值给self.__score。

    查看全部
  • self即你需要实例化的对象,self.name是这个需要实例化的对象的name,是个属性. 而__init__()函数的参数列表里的name是你传进去的参数。__init__()参数列表里的name 其实也可以换成别的。

    def __init__(self, x,y): 

    self.name=x  

    self.gender=y 也是可以的。

    self.name=name的含义是,你传一个name参数进去,将self的name(即self.name)初始化。只不过程序员在编程的时候,喜欢将你穿进去的参数和self的属性写的一样。

    查看全部
  • __dict__是特殊属性,储存实例的属性和值,update是方法,kw是dict字典,我也不是特别懂,看得多了,觉得挺好用,比for循环,记下来就好

    查看全部
  • setattr() 函数对应函数 getattr(),用于设置属性值,该属性必须存在。setattr(self, 属性名, 属性值)

    items函数,将一个字典以列表的形式返回,因为字典是无序的,所以返回的列表也是无序的。

    a = {'a':1,'b':3}
    a.items()
    返回a = [('a',1),('b',3)]

    iteritems()返回一个迭代器


    查看全部
  • **kw代表的是所有的类似 job='student'这样的参数,然后是以dict的形式传递给函数。等号前面的值作为dict中的key,等号后面的值作为dict中对应的value。

    而*args代表的是剩余的不带等号的参数,用元组的形式传递给函数内部处理。


    查看全部
  • L1.sort()排序的是list里的元素,即类实例p1,p2,p3,而不是类实例的属性name.至于现在的排序结果可能是按照实例地址排序的(这个需要求证),并不是对name属性排序的

    查看全部

举报

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

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