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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 如果一个f()函数的返回值是一个其内部另一个函数,则直接调用f()赋值给一个x,则返回的x是一个函数,只有x(),才返回一个内部函数计算得出的值。 def f(): print 'call f()...' def g(): # 定义函数g: print 'call g()...' return g # 返回函数g: >>> x = f() # 调用f() call f()... >>> x # 变量x是f()返回的函数: <function g at 0x1037bf320> >>> x() # x指向函数,因此可以调用 call g()... # 调用x()就是执行g()函数定义的代码
    查看全部
  • 1、通常规定:对于两个元素x,y。【一般正序排列,即从小到大排列】 if x<y: return -1 if x>y: return 1 return 0 若为逆序排列,则与上述符号相反。
    查看全部
  • 当新版本的一个特性与旧版本不兼容时,该特性将会在旧版本中添加到__future__中,以便旧的代码能在旧版本中测试新特性。 如3.x中的除法特征有变化,为了在2.x中兼容3.x的除法规则,可以在Python 2.7中引入3.x的除法规则,导入__future__的division: >>> from __future__ import division >>> print 10 / 3 3.3333333333333335
    查看全部
  • 同样的功能,StringIO 是纯Python代码编写的,而 cStringIO 部分函数是 C 写的,因此 cStringIO 运行速度更快。 利用ImportError错误,我们经常在Python中动态导入模块: try: from cStringIO import StringIO except ImportError: from StringIO import StringIO
    查看全部
  • filter()函数接收一个函数 f 和一个list.filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list.【即filter()函数只保留列表中符合函数的元素,即带入函数后为True的元素,返回的也是一个列表(此时的列表元素均符合函数要求)】
    查看全部
  • sorted_ignore_case = functools.partial(sorted,key=str.lower)
    查看全部
    0 采集 收起 来源:python中偏函数

    2017-09-12

  • reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值.【重点:对列表中每个元素反复操作函数,直至列表元素全部运算结束】 如: def f(x,y): return x+y reduce(f,[1,2,3]) 先计算f(1,2) 得 3 该结果用于下次 再计算f(3,3) 得 6 即返回结果是 6
    查看全部
  • 新函数名 = functools.partial(函数名, 指定少的参数的默认值)比如:int2 = functools.partial(int, base=2)
    查看全部
    0 采集 收起 来源:python中偏函数

    2017-09-12

  • 首字母大写,其余字母小写。 1.s[0].upper()+s[1:].lower() 2.s.capitalize() 3.s.title()
    查看全部
  • map()函数接受一个函数与一个列表 即对列表中每个元素进行函数操作。
    查看全部
  • 高阶函数:其函数传入的参数可以是一个函数。
    查看全部
  • 由于decorator返回的新函数函数名已经不是'f2',而是@log内部定义的'wrapper'。这对于那些依赖函数名的代码就会失效。decorator还改变了函数的__doc__等其它属性。如果要让调用者看不出一个函数经过了@decorator的“改造”,就需要把原函数的一些属性复制到新函数中: def log(f): def wrapper(*args, **kw): print 'call...' return f(*args, **kw) wrapper.__name__ = f.__name__ wrapper.__doc__ = f.__doc__ return wrapper 这样写decorator很不方便,因为我们也很难把原函数的所有必要属性都一个一个复制到新函数上,所以Python内置的functools可以用来自动化完成这个“复制”的任务: import functools def log(f): @functools.wraps(f) def wrapper(*args, **kw): print 'call...' return f(*args, **kw) return wrapper 最后需要指出,由于我们把原函数签名改成了(*args, **kw),因此,无法获得原函数的原始参数信息。即便我们采用固定参数来装饰只有一个参数的函数,也可能改变原函数的参数名,因为新函数的参数名始终是 'x',原函数定义的参数名不一定叫 'x'。
    查看全部
  • @log('DEBUG') def my_func(): pass 把上面的定义翻译成高阶函数的调用,就是: my_func = log('DEBUG')(my_func) 上面的语句看上去还是比较绕,再展开一下: log_decorator = log('DEBUG') my_func = log_decorator(my_func) 上面的语句又相当于: log_decorator = log('DEBUG') @log_decorator def my_func(): pass
    查看全部
  • 如何判断x是不是整数:x%1= =0 则为整数
    查看全部
  • 大些首字母,小写其他字母:s[0].upper() + s[1:].lower() 或者:s.capitalize()
    查看全部

举报

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

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