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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • 例如,要从一个list [1, 4, 6, 7, 9, 12, 17]中删除偶数,保留奇数,首先,要编写一个判断奇数的函数:

    def is_odd(x):
        return x % 2 == 1

    然后,利用filter()过滤掉偶数:

    filter(is_odd, [1, 4, 6, 7, 9, 12, 17])

    结果:[1, 7, 9, 17]


    查看全部
  • 这节想破头也不会,后面要再看看


    查看全部
  •  s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。

    查看全部
  • # Filename : test.py
    # author by : www.runoob.com
    str = "www.runoob.com"
    print(str.upper())# 把所有字符中的小写字母转换成大写字母
    print(str.lower())# 把所有字符中的大写字母转换成小写字母
    print(str.capitalize())# 把第一个字母转化为大写字母,其余小写
    print(str.title())# 把每个单词的第一个字母转化为大写,其余小写


    查看全部
  • 同一个名字的变量,只要在不同的py文件中就不会相互影响;模块的名字就是py文件的文件名

    解决同名模块的问题:把同名的模块放到不同的包中。

    在文件系统中:包就是文件夹,包可以有多级;模块就是py.文件

    如何区分包和普通目录:1.包下面有个_init_.py 文件,并且每层都要有,这样Python才会把这个目录当作包来处理

    查看全部
  • 这一节还是没有理解的

    查看全部
  • 就算是在函数中改变了字符的大小写用来判断 也不会修改输出的字符的形式 只是在中间阶段变换了它们来进行比较

    查看全部
  • 首字母大写,其余字母小写的两种函数式

        return s.capitalize()

       return s[0].upper()+s[1:].lower()

    查看全部
  • 这个地方还有疑问

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

    2020-01-06

  • 一个简单的高阶函数:

    def add(x, y, f):
        return f(x) + f(y)

    如果传入abs作为参数f的值:

    add(-5, 9, abs)

    根据函数的定义,函数执行的代码实际上是:

    abs(-5) + abs(9)


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

    想正确使用闭包:要确保引用的局部变量在函数返回之后不能变


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

    2020-01-06

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

    例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]

    如果希望把list的每个元素都作平方,就可以用map()函数:

    54c8a7e40001327303410245.png

    因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:

    def f(x):
        return x*x
    print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

    输出结果:

    [1, 4, 9, 10, 25, 36, 49, 64, 81]


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

    查看全部
  • # -*- coding: UTF-8 -*-

    #返回闭包不能引用循环变量

    #假如返回闭包使用的是循环变量,那么返回函数导致的延迟的计算

    #会让计算结果错误


    #如果一定要引用循环变量怎么办?方法是再创建一个函数

    #用该函数的参数绑定循环变量当前的值,无论该循环变量后续如何更改,已

    #绑定到函数参数的值不变。

    def count():

        fs = []

        for i in range(1, 4):

            def f(i):

                def g():

                    return i * i

                return g

                

            fs.append(f(i))

        return fs


    f1, f2, f3 = count()

    print f1(), f2(), f3()


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

    2020-01-03

  • def cmp_ignore_case(s1, s2):

        if str.upper(s1) > str.upper(s2):

            return 1

        elif str.upper(s1) < str.upper(s2):

            return -1

        return 0


    print sorted(['bob', 'about', 'Zoo', 'Credit'],cmp_ignore_case)


    #在比较字符串的时候,“A” >  "B" 返回的是False

    #因为 “A” 的ASCII编码比 “B”的小,所以才排在前面

    #由此可知 sorted命令在传入 return 1 的时候会将X放在Y后面,return -1 的时候 会将Y往前移,既放在X前面。

    查看全部

举报

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

微信扫码,参与3人拼团

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

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