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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • map函数
    def f(x):
        return x*x
    print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])


    查看全部
  • python把函数作为参数


    import math

    def add(x,y,f):

        return f(x)+f(y)

    print add (2,3,math.sqrt)


    查看全部
  • count是定义在类"Person"下的属性,不是定义在实例"self"下的属性.

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

    查看全部
  • 因此,返回函数不要引用任何循环变量,或者后续会发生变化的变量。

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

    2019-12-18

  • 借用一切都是浮云何必刻苦铭心的答案:sorted(iterable[, cmp[, key[, reverse]]])
    sorted 这个函数接受这3个关键词,key表示排序的元素,比如一个人的信息,可以从名字排序,
    可以从年龄排序,这就是排序元素,所以设置key的话,返回字符串就行了。
    返回值1,-1是详细的对比规则,写在cmp里面。一般是大于为1,小于为-1,等于为0。

    reverse 是排序规则,正序为true,逆序为false。

    这里cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1


    查看全部
  • def f(j):
        def g():
            return j*j
        return g

    g就是闭包,把里面的就j*j裹在里面,只有调用了f()函数才可以继续调用里面的g()函数,才能继续运行里面的乘积

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

    2019-12-17

  • def factorial(n):
        return reduce(lambda x,y: x*y, range(1, n+1))

    lambda x,y: 定义参数

    x*y 运算方式

    range()运算范围

    查看全部
  • reduce(function, iterable, initializer)  
    function -- 函数f,有两个参数
    iterable -- 可以迭代的对象,这里是列表lst
    initializer -- 可有可无,若有:从此值开始计算


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

    查看全部
  • class Student(object):


        def __init__(self, name, score):

            self.name = name

            self.score = score


        def __str__(self):

            return '(%s: %s)' % (self.name, self.score)


        __repr__ = __str__


        def __cmp__(self, s):

            if isinstance(s,Student): #判断类型

                if self.score >= s.score:#判断分数

                    if self.score == s.score:#分数相等时判断名字

                        return cmp(self.name,s.name)

                    else:

                        return -1

                elif self.score < s.score:

                    return 1

                else:

                    return 0

            else:

                return 0


    L = [Student('Tim', 99), Student('Bob', 88), Student('Alice', 99)]

    print sorted(L)


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

    2019-12-15

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


    查看全部
  • 感觉还不是很懂

    查看全部
  • isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

    isinstance() 与 type() 区别:

    • type() 不会认为子类是一种父类类型,不考虑继承关系。

    • isinstance() 会认为子类是一种父类类型,考虑继承关系。

    如果要判断两个类型是否相同推荐使用 isinstance()。

    语法

    以下是 isinstance() 方法的语法:

    isinstance(object, classinfo)

    参数

    • object -- 实例对象。

    • classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。

    返回值

    如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。


    查看全部
  • json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。

    https://www.jb51.net/article/140151.htm

    查看全部

举报

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

微信扫码,参与3人拼团

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

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