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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 例如,定义一个函数 f(),我们让它返回一个函数 g,可以这样写: def f(): print 'call f()...' # 定义函数g: def g(): print 'call g()...' # 返回函数g: return g 仔细观察上面的函数定义,我们在函数 f 内部又定义了一个函数 g。由于函数 g 也是一个对象,函数名 g 就是指向函数 g 的变量,所以,最外层函数 f 可以返回变量 g,也就是函数 g 本身。 调用函数 f,我们会得到 f 返回的一个函数: >>> x = f() # 调用f() call f()... >>> x # 变量x是f()返回的函数: <function g at 0x1037bf320> >>> x() # x指向函数,因此可以调用 call g()... # 调用x()就是执行g()函数定义的代码
    查看全部
  • map()是内置高阶函数 接受一个函数和一个list 分别将函数作用于list中的每个元素
    查看全部
  • 调用math库的函数时 记得声明 如math.sqrt()
    查看全部
  • 装饰器,三层迭代
    查看全部
  • 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]
    查看全部
  • filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
    查看全部
  • 求积 def prod(x, y): return x*y print reduce(prod, [2, 4, 5, 7, 12])
    查看全部
  • reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
    查看全部
  • def format_name(s): return s[0].upper() + s[1:].lower()
    查看全部
  • 题目:请编写一个函数calc_prod(lst),它接收一个list,返回一个函数,返回函数可以计算参数的乘积。 参考代码: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() 我的代码:def calc_prod(lst): def calc_prod1(): z = 1 for i in lst: z = z * i return z return calc_prod1() f = calc_prod([1, 2, 3, 4]) print f 参考代码里返回了两次,第一次定义calc_prod,返回lazy_prod()函数,注意这里是一个函数,里面没有值的,不像第一次里面有lst,然后再在lazy_prod()中新定义一个函数f,定义这个f是为了作为reduce函数的输入函数,参考reduce那节课。 最后要表现出使用calc_prod时要返回函数,return lazy_prod.总之内部(返回的)函数要实现算法,外部函数的作用就是调用内部函数
    查看全部
  • 1.math.sqrt()的返回值一定是浮点数 2.类型转换 r=int(math.sqrt(x))把浮点型转化成整数型
    查看全部
  • s.strip(xx)表示删除s字符串中,结尾处的xx系列的字符。 若xx为空,则默认删除空白符(\n,\r,\m) filter()函数的作用是筛选,留下list中经过输入函数f运算后,结果为true的元素。 有用的功能有比如说删除none或空字符串
    查看全部
  • map()中的f是一元的x,reduce()中接受的函数是二元的x&y 应用方法就是构造出对list操作所需要的函数,把这个函数传入到map或reduce中
    查看全部
  • 问题:假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list: 输入:['adam', 'LISA', 'barT'] 输出:['Adam', 'Lisa', 'Bart'] 解答:def format_name(s): return s[0].upper() + s[1:].lower() print map(format_name, ['adam', 'LISA', 'barT']) 脑里有泡吧你,判断个毛啊,直接按标准形式都重新作用一遍就行了呀。让你构造的函数形式就是首字母大写,其余字母小写就可以了,只要写出这个函数,套在map里,原有list中的字符串都会按照这个函数重新转换,不需要判断原来输入的字符串是什么样的。 另外,大写的方法是upper(),小写的方法是lower()
    查看全部
  • 利用add(x,y,f)函数,计算:x+y的平方根之和。f那个位置,直接放上函数名就行了,不要带着括号
    查看全部

举报

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

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