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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • python 中判断类型

    函数isinstance( )可以判断一个变量的类型,可以是Python的内置数据类型(str list dict)判断也可以是自定义的数据类型的判断

    在继承链上一个父类的实例不可以是子类的类型,因为子类多了很多新的属性和方法

    在继承连上,一个实例如果是子类的类型,那么也是父类的类型




    查看全部
  • python中继承一个类

    一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender

    函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)


    查看全部
  •  @log 写死了只含一个参数的返回函数。要让 @log 自适应任何参数定义的函数,可以利用Python的 *args 和 **kw,保证任意个数的参数总是能正常调用


    查看全部
  • 装饰器,Python内置的@语法,原函数定义被完全隐藏

    查看全部
  • python进阶2-9 闭包有些晦涩难懂

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

    2018-04-04

  • 以map()函数为例,匿名函数 lambda x: x * x。关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。匿名函数只能有一个表达式,不写return,返回值就是该表达式的结果

    查看全部
  • 这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包。特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。返回函数不要引用任何循环变量(函数g),或者后续会发生变化的变量。

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

    2018-04-04

  • 注意区分返回函数和返回值
    查看全部
  • JSON(JavaScript Object Notation):一种轻量级数据交换格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是Python的Json模块序列化与反序列化的过程分别是 encoding和 decoding

    encoding:把一个Python对象编码转换成Json字符串
    decoding:把Json格式字符串解码转换成Python对象
    对于简单数据类型(string、unicode、int、float、list、tuple、dict),可以直接处理。

    json.dumps方法对简单数据类型encoding:

    查看全部
  • sorted()也是高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y
    查看全部
  • 这里注意到一个细节,就是把score定义成了私有属性__score,而我们根据前面的知识了解到私有属性在类外是不能够直接访问的,必须通过方法调用的方式,而装饰器函数又恰好把方法装饰成了属性调用,所以这里调用属性其实就是调用方法,返回的是私有属性

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

    2018-04-04

  • @property---这是关键字,固定格式,能让方法当“属性”用。
    @score.setter---前面的"score"是@property紧跟的下面定义的那个方法的名字,"setter"是关键字,这种“@+方法名字+点+setter”是个固定格式与@property搭配使用。

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

    2018-04-04

  • 因为 Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员。

    查看全部
  • def calc_prod(lst):
        def lazy_prod():
            def f(x, y):
                return x * y
            return reduce(f, lst, 1)
        return lazy_prod
    f = calc_prod([1, 2, 3, 4])
    print f()


    查看全部

  •     def __init__(self, name, gender, **kw):

            self.name = name

            self.gender = gender

            for  k,v in kw.items():

                setattr(self,k,v)


    p = Person('Bob', 'Male', age=18, course='Python')

    print p.age

    print p.course


    查看全部

举报

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

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