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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • O5
    自写错误代码: import math def is_sqr(x): y = math.sqrt(x) if y*y==x: return x print filter(is_sqr, range(1, 101)) 错因:虽然math.sqrt()返回的是浮点型,如果y=x开方后不是整数的话,y后面有k位小数(根据ide情况而变),但是计算机对于y*y这个浮点数,当其跟x做比较的话,若是后k位小数都相同,则认定他们是相等的,所以并不能得到想要的结果。
    查看全部
  • 大概都是定义(三层)两层函数,最外层无参数(或用函数作为参数),用以返回里层函数(带参数)并完成对里层函数(或传入的函数)的装饰,返回的是中间层的函数 def log(f): def fn(x): print 'call ' + f.__name__ + '()...' return f(x) return fn
    查看全部
  • O5
    1.math.sqrt(x)返回的值总是浮点型的;所以isinstance(math.sqre(x),int)总是false。
    查看全部
  • 函数式编程——高阶函数,闭包,匿名函数,装饰器;模块和包——避免命名冲突,引用模块,__future__;面向对象编程——类和实例,属性和方法,类属性和实例属性;类的继承——目的是复用,多态,多重继承;定制类——目的是将普通函数成为方法,特殊方法,类型转换,__call__(将实例变成一个跟函数一样可以调用的方法)。
    查看全部
    1 采集 收起 来源:课程总结

    2016-01-12

  • O5
    reduce(f,L,i)函数适用于需要对list集合内元素间的运算,逻辑是: 1.f(x,y)是两个参数的函数; 2.i默认为计算的初始值x,然后去L中第一个元素作为y进行f运算;如果i没有设定的话,那么就先取L中头两个元素作为参数进行f运算,然后得出的结果再作为x,与第三个元素(作为y)进行f运算,以此类推; 3.区分好map()与reduce():前者是对每一个元素进行运算f,元素间没有关系;后者则是对各元素的一种'遍历',累次进行f运算关系。
    查看全部
  • O5
    map(a,b)函数表示把b中的各个元素(重点)进行a关系的运算,其中a是一个函数关系,b是一个list等支持迭代的集合,不能是一个常数,返回的也是一个集合。 另外,map()函数返回的是一个新的集合,而不改变b的指向。 还有,字符串*n进行的运算结果是n个重复的字符串连接起来组成一个新的字符串;与a.upper()相反的是a.lower()
    查看全部
  • O5
    使用调用的包里面的函数的统一格式: 包名称.函数名 如math.sqrt
    查看全部
  • O5
    变量可以存储或者说指向函数; 所谓高阶函数就是该函数的输入参数为变量,而这个变量指向一个函数。
    查看全部
  • 在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算 f(x)=x2 时,除了定义一个f(x)的函数外,还可以直接传入匿名函数: >>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]) [1, 4, 9, 16, 25, 36, 49, 64, 81] 通过对比可以看出,匿名函数 lambda x: x * x 实际上就是: def f(x): return x * x 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。
    查看全部
  • 偏函数 import functools f = functools.partial(func1,func2)
    查看全部
    0 采集 收起 来源:python中偏函数

    2016-01-12

  • 重点:其实@decorator实质就是把所求函数当成参数传给一封装好的封闭函数。
    查看全部
  • 内层函数引用了外层函数的变量,然后返回内层函数的情况,称为闭包
    查看全部
    0 采集 收起 来源:python中闭包

    2016-01-12

  • def cmp_ignore_case(s1, s2): s1 = s1.lower() s2 = s2.lower() if s1 > s2: return 1 if s1 < s2: return -1 return 0 print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
    查看全部
  • 1)对由tuple组成的List排序 1.>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),] 用key函数排序:返回由tuple组成的list 1.>>> sorted(students, key=lambda student : student[2]) # sort by age 2.[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] 用cmp函数排序 1.>>> sorted(students, cmp=lambda x,y : cmp(x[2], y[2])) # sort by age 2.[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] 用 operator 函数来加快速度, 1.>>> from operator import itemgetter, attrgetter 2.>>> sorted(students, key=itemgetter(2)) 用 operator 函数进行多级排序 1.>>> sorted(students, key=itemgetter(1,2)) # sort by grade then by age 2.[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)] 2)对由字典排序 ,返回由tuple组成的List,不再是字典。 1.>>> d = {'data1':3, 'data2':1, 'data3':2, 'data4':4} 2.>>> sorted(d.iteritems(), key=itemgetter(1), reverse=True) 3.[('data4', 4), ('data1', 3), ('data3', 2), ('data2', 1)]
    查看全部
  • upper():将字母转换为大写; Lower():将字母转换为小写;
    查看全部

举报

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

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