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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 课程内容总结:

    https://img1.sycdn.imooc.com//5cbecc820001450510590608.jpg

    https://img1.sycdn.imooc.com//5cbecc9d0001cfa109770556.jpg

    https://img1.sycdn.imooc.com//5cbeccb400018a8f10610569.jpg

    https://img1.sycdn.imooc.com//5cbeccef0001773f09390572.jpg

    https://img1.sycdn.imooc.com//5cbecd09000102b211080645.jpg

    https://img1.sycdn.imooc.com//5cbecd250001e1c411490731.jpg

    查看全部
    0 采集 收起 来源:课程总结

    2019-04-23

  • 给分子分母约分:

    https://img1.sycdn.imooc.com//5cbecabd0001fe6b02600140.jpg

    https://img1.sycdn.imooc.com//5cbecaca00019a3e03150086.jpg

    查看全部
  • 在Python中,函数其实是一个对象,所有的函数都是可调用对象。

    一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__(self, 调用实例时传入的参数)。


    查看全部
    0 采集 收起 来源:python中 __call__

    2019-04-23

  • __slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。

    class Student(object):
        __slots__ = ('name', 'gender', 'score')
        def __init__(self, name, gender, score):
            self.name = name
            self.gender = gender
            self.score = score


    查看全部
    0 采集 收起 来源:python中 __slots__

    2019-04-23

  • 例子会写,用装饰器函数把 get/set 方法“装饰”成属性调用没太明白。。。

    查看全部
    0 采集 收起 来源:python中 @property

    2019-04-23

  • 把一个类的实例变成 str,就需要实现特殊方法__str__()。

    Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户(print 出来的:print p),而__repr__()用于显示给开发人员(直接调用的:p)。

    所以可:

    __repr__ = __str__


    查看全部
  • 这部分的逻辑是:f = calc_prod([1, 2, 3, 4]),等号左边的是标签f,等号右边是calc_prod([1, 2, 3, 4])。等号的作用是将等号右边的结果赋值给等号左边,等号右边的结果是函数calc_prod([1, 2, 3, 4])的返回值,也就是lazy_prod;这个式子运行结束之后,将f这个标签贴给lazy_prod,当执行f()时等同于执行lazy_prod()。。。可能答案给的有点复杂涉及到另一个高阶函数

    这部分有点难懂,涉及到后面的闭包问题,还需要时间看看

    查看全部
  •  isinstance() 判断它是否是某种类型

     type() 函数获取变量的类型,返回一个 Type 对象:

    type(123)
    # <type 'int'>

    dir() 函数获取变量的所有属性

    getattr() 和 setattr( )函数获取或者设置对象的属性:

    getattr(s, 'name')          # 获取name属性'Bob'
    
    setattr(s, 'name', 'Adam')  # 设置新的name属性为 'Adam'


    查看全部
  • map和reduce最大的区别就是map最后输出的还是个List,然而reduce输出的是函数计算过后的值,不是一个list是一个数值,还有一个就是reduce至少要接受两个参数和一个函数,map只接受一个函数和一个参数。

    查看全部
  • #upper():  全部大写

    #lower():   全部小写

    #capitalize():    首字母大写

    #title():     每个单词首字母大写

    #并且记住函数需要return;否则返回值为None


    查看全部
  • map函数可以传递函数,可以将一个list运算生成一个新的list,但是map不改变原来的list。而且map函数是作用在list的每一个元素上面。

    查看全部
  •  装饰器用于简化代码 @的使用后面加函数名

    查看全部
  • 函数isinstance()可以判断一个变量的类型,既可以用在Python内置的数据类型如str、list、dict,也可以用在我们自定义的类,它们本质上都是数据类型。

    isinstance(p, Person)     # (实例,原型)返回布尔值


    查看全部
  • https://img1.sycdn.imooc.com//5cbe6def000165da09090480.jpg

    class Person(object):
        def __init__(self, name, gender):
            self.name = name
            self.gender = gender
    class Student(Person):
        def __init__(self, name, gender, score): 
            super(Student, self).__init__(name, gender)
            self.score = score
    查看全部
  • 通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.count 实际上相当于 Person.count。

    class Person(object):
        __count = 0 # 定义一个类属性,只有类中可以访问到,实例上访问不到
        @classmethod  # 定义一个类方法,类可以调用,可以用于获取类中的属性
        def how_many(cls):
            return cls.__count
        def __init__(self, name):
            self.name = name
            Person.__count = Person.__count + 1
            
    print Person.how_many()
    p1 = Person('Bob')
    print Person.how_many()


    查看全部

举报

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

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