为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • filter(func,L)根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list

    查看全部
  • int() 向下取整

    math.sqrt(x)参数内置要传

    查看全部
  • reduce()对list的每个元素反复调用函数f,并返回最终结果值

    查看全部
  • map(f,L)生成一个新的列表

    查看全部
  • 高阶函数就是可以接收函数作为参数的函数

    def add(x,y,f):

        retuen f(x)+f(y)

    add(-5,9,abs)

    f作为add的一个参数传入

    查看全部
  • reduce()函数也是内置的一个高阶函数,reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。

    查看全部
  • map()是Python内置的高阶函数,它接收一个函数f和一个list, 并通过把函数f依次作用在list的每个元素上,得到一个新的list并返回。

    查看全部
  • 高阶函数

    变量可以指向函数,函数名就是指向函数的变量。

    高阶函数:能接收函数做参数的函数(函数的参数可以接收变量)

    一个函数可以接收另一个函数作为参数

    def add(x,y,f)

    return f(x)+f(y)

    add(-5,9,abs)


    查看全部
  • lambda关键字表示匿名函数,lambda 变量名:函数关系式;其中函数关系只能由一个表达式组成,不需要写return,返回的就是表达式的结果。

    查看全部
  • 由于Python的动态特性,json.load()并不一定要从一个File对象读取内容。任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()。

    请尝试编写一个File-like Object,把一个字符串 r'["Tim", "Bob", "Alice"]'包装成 File-like Object 并由 json.load() 解析。


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

    2019-07-06

  • 如果已经定义了Person类,需要定义新的Student和Teacher类时,可以直接从Person类继承:

    class Person(object):
        def __init__(self, name, gender):
            self.name = name
            self.gender = gender

    定义Student类时,只需要把额外的属性加上,例如score:

    class Student(Person):
        def __init__(self, name, gender, score):        super(Student, self).__init__(name, gender)
            self.score = score

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

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


    查看全部
  • xxxxxx

    查看全部
  • xxxxxxx

    查看全部
  • p1.get_grade 返回的是一个函数对象,但这个函数是一个绑定到实例的函数,p1.get_grade() 才是方法调用。

    因为方法也是一个属性,所以,它也可以动态地添加到实例上,只是需要用 types.MethodType() 把一个函数变为一个方法:

    import types
    def fn_get_grade(self):
        if self.score >= 80:
            return 'A'
        if self.score >= 60:
            return 'B'
        return 'C'
    
    class Person(object):
        def __init__(self, name, score):
            self.name = name
            self.score = score
    
    p1 = Person('Bob', 90)p1.get_grade = types.MethodType(fn_get_grade, p1, Person)print p1.get_grade()# => Ap2 = Person('Alice', 65)
    print p2.get_grade()# ERROR: AttributeError: 'Person' object has no attribute 'get_grade'
    # 因为p2实例并没有绑定get_grade


    查看全部
  •     三个高阶函数,map,reduce,filter,其第一个参数都是函数,第二个参数是列表。map对队列中的值依次放入传入的函数中,返回一个由结果组成的新列表,reduce每两个做一个操作,reduce可以传入第三个参数,表示起始值,filter的函数需要返回True或False,过滤掉返回False的值。

        要注意==符号对比数字时是比较数字的值,而不是类型。所以2.0 == 2是等价的

    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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