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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • Python内置的 sorted()函数可对list进行排序:

    >>>sorted([36, 5, 12, 9, 21])
    [5, 9, 12, 21, 36]

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

    因此,如果我们要实现倒序排序,只需要编写一个reversed_cmp函数:

    def reversed_cmp(x, y):
        if x > y:
            return -1
        if x < y:
            return 1
        return 0

    这样,调用 sorted() 并传入 reversed_cmp 就可以实现倒序排序:

    >>> sorted([36, 5, 12, 9, 21], reversed_cmp)
    [36, 21, 12, 9, 5]

    sorted()也可以对字符串进行排序,字符串默认按照ASCII大小来比较:

    >>> sorted(['bob', 'about', 'Zoo', 'Credit'])
    ['Credit', 'Zoo', 'about', 'bob']

    'Zoo'排在'about'之前是因为'Z'的ASCII码比'a'小。

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

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

    查看全部
  • 存一下。
    查看全部
    0 采集 收起 来源:课程介绍

    2018-09-12

    1. 不是纯函数式编程:允许有变量

    2. 支持高阶函数:函数也可以作为变量传入

    3. 支持闭包:有了闭包就能返回函数

    4. 有限度地支持匿名函数

    查看全部
  •  r = f(*args, **kw)   #把函数调用的值赋给了r

     print 'call %s() in %fs' % (f.__name__, (t2 - t1))   

    #%s是字符串 f是浮点数 %fs s是秒的意思 第三个百分号代表的是前面提到的%f 与%s对应的数据 %s对应的是f.__name__ ,%f对应的是t2-t1。是python里面输出语句的格式



    call那里输出的那句是说运行factorial这个函数用了多久,t1应该是开始的时间,t2应该是结束的时间吧,我猜

    然后第二行的数值应该是factorial运行出来的数



    查看全部
  • 在学一次吧,对高阶函数的理解不透彻

    查看全部
  • 化简分数:找出分子分母最大公因数

    def gcd(a, b):

        if b == 0:

            return a

        return gcd(b, a % b)


    查看全部
  • class Person(object):
    def __init__(self, name, score):
    self.name = name
    self.__score = score
    p = Person('Bob', 59)
    try:
    print p.name
    print p.__score
    except AttributeError:
    print p.name
    print 'attributeerror'

    这个问题很简单,捕获异常信息,并且输出异常名称,可以通过编译器。

    查看全部
  • 比较函数(cmp)

    如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。


    查看全部
  •  sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y

    查看全部
  • kw是字典,iteritems()用于遍历字典kw,而setattr(self, k, v)就等价于self.k = v

    查看全部
  • 要定义关键字参数,使用 **kw;

    除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性。

    for k, v in kw.iteritems():

                setattr(self, k, v)


    查看全部

举报

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

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