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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 在Python中,类通过 class 关键字定义。

    类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。

    查看全部
  • from __future__ import unicode_literals
    s = 'am I an unicode?'
    print(isinstance(s,str))


    查看全部
  • Python的新版本会引入新的功能,但是,实际上这些功能在上一个老版本中就已经存在了。要“试用”某一新的特性,就可以通过导入__future__模块的某些功能来实现。

    当新版本的一个特性与旧版本不兼容时,该特性将会在旧版本中添加到__future__中,以便旧的代码能在旧版本中测试新特性。

    查看全部
  • 利用import ... as ...,还可以动态导入不同名称的模块。

    try:

        import json

    except ImportError:

        import simplejson as json 

    print json.dumps({'python':2.7})


    查看全部
  • 如果使用 from...import 导入 log 函数,势必引起冲突。这时,可以给函数起个“别名”来避免冲突:

    from math import log
    from logging import log as logger


    查看全部
  • def is_not_empty(s):
        return s and len(s.strip()) > 0
    print(list(filter(is_not_empty, ['test', None, '', 'str', '  ', 'END'])))
    
    print(list(filter(lambda s: s and len(s.strip())>0, ['test', None, '', 'str', '  ', 'END'])))


    查看全部
  • map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])

    关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。

    匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。


    查看全部
  • 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。

    闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。

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

    2018-05-22

  • 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()


    查看全部
  • Python的函数不但可以返回int、str、list、dict等数据类型,还可以返回函数!

    查看全部
  • https://www.aliyun.com/jiaocheng/435806.html

    python3
    from functools import cmp_to_key
    import functools
    def cmp_ignore_case(s1, s2):
        u1 = s1.upper()
        u2 = s2.upper()
        if u1 < u2:
            return -1
        if u1 > u2:
            return 1
        return 0
    print(sorted(['bob', 'about', 'Zoo', 'Credit'],  key=cmp_to_key(cmp_ignore_case), reverse=False))


    查看全部
  • Python内置的 sorted()函数可对list进行排序:

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

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


    查看全部
  • python3

    import functools
    import math
    def is_sqr(x):
        r = int(math.sqrt(x))
        return r*r==x
    print(list(filter(is_sqr, range(1, 101))))


    查看全部
  • filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

    利用filter(),可以完成很多有用的功能,例如,删除 None 或者空字符串:


    查看全部
  • python3
    import functools
    def f(x, y):
        return x + y
    print(functools.reduce(f, [1, 3, 5, 7, 9]))


    查看全部

举报

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

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