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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 安装第三方模块<br> pip install web.py<br> 查找第三方模块<br> pypi.python.org
    查看全部
  • 要在Python 2.7中引入3.x的除法规则,导入__future__的division: >>> from __future__ import division >>> print 10 / 3 3.3333333333333335 当新版本的一个特性与旧版本不兼容时,该特性将会在旧版本中添加到__future__中,以便旧的代码能在旧版本中测试新特性。 任务 在Python 3.x中,字符串统一为unicode,不需要加前缀 u,而以字节存储的str则必须加前缀 b。请利用__future__的unicode_literals在Python 2.7中编写unicode字符串。
    查看全部
  • 导入模块 try: import json except importError: import simplejson as json
    查看全部
  • 有理数运算的结果需要约分,gcd()函数求最大公约数,运算结果除以最大公约数即可约分
    查看全部
  • 导入模块 要使用一个模块,我们必须首先导入该模块。Python使用import语句导入一个模块。例如,导入系统自带的模块 math: import math 你可以认为math就是一个指向已导入模块的变量,通过该变量,我们可以访问math模块中所定义的所有公开的函数、变量和类: >>> math.pow(2, 0.5) # pow是函数 1.4142135623730951 >>> math.pi # pi是变量 3.141592653589793 如果我们只希望导入用到的math模块的某几个函数,而不是所有函数,可以用下面的语句: from math import pow, sin, log 如果使用 from...import 导入 log 函数,势必引起冲突。这时,可以给函数起个“别名”来避免冲突: from math import log from logging import log as logger # logging的log现在变成了logger print log(10) # 调用的是math的log
    查看全部
  • 要让 len() 函数工作正常,类必须提供一个特殊方法__len__(),它返回元素的个数
    查看全部
    0 采集 收起 来源:python中 __len__

    2016-01-13

  • 1.cmp()是比较函数,用于对 int、str等内置数据类型进行排序,__cmp__()是比较方法,用于对类的实例进行排序 2.cmp()是从小到大排列,-cmp()是从大到小排列
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2016-01-13

  • Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员
    查看全部
  • O5
    函数的返回值可以是函数体内部定义的函数。<br> 比如: def f(): 4空格print 'hello' 4空格def g(): 4空格4空格print 'world' 4空格return g x=f() print f print f() print x print x() f()函数的返回值是g()函数,在调用f时,注意区分调用得是函数还是函数值的函数: 1.x=f() 执行了一次f()函数,并把这个函数的返回值也即是g函数赋给了x; 2.print f 输出是f函数的地址; 3.print f() 执行一次f()函数然后打印出函数的返回值也即是g函数,所以输出是f()中的输出hello和g的地址; 4.print x 与3的区别是这里是没有执行f()函数,所以没有输出hello,而是直接输出g的地址。事实上3是两句的合并,即print f() 等价于 x=f() print x; 5.print x() 执行g函数,输出world。 要深刻理解f与f()的区别,前者是一个函数映射关系,可以视为一个元素;后者是执行这个函数,是一个动作。
    查看全部
  • functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了。<br> functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2:<br> cmp是个自带函数 真心不如自己写个还这么麻烦 要固定sorted()的cmp参数,需要传入一个排序函数作为cmp的默认值。 参考代码: import functools sorted_ignore_case = functools.partial(sorted, cmp=lambda s1, s2: cmp(s1.upper(), s2.upper())) <br> >>> import functools<br> >>> int2 = functools.partial(int, base=2)<br> >>> int2('1000000')<br> 64<br> >>> int2('1010101')<br> 85
    查看全部
    0 采集 收起 来源:python中偏函数

    2018-03-22

  • 自动复制 import functools def log(f): @functools.wraps(f) def wrapper(*args, **kw): print 'call...' return f(*args, **kw) return wrapper
    查看全部
  • 加个参数就是多一层嵌套,python喜欢搞好多层嵌套 import time 为啥报错 还time是local变量?还未定义就引用? def performance(unit): def decorate_myfun(f): def myfun(n): time1=time.time() result=f(n) time2=time.time() timespan=(time2-time1)*1000 if unit=='s': timespan=time2-time1 print 'call %s() in %f %s' % (f.__name__, timespan, unit) return result return myfun return decorate_myfun
    查看全部
  • 时间差 import time def performance(f): def fn(*args, **kw): t1 = time.time() r = f(*args, **kw) t2 = time.time() print 'call %s() in %fs' % (f.__name__, (t2 - t1)) return r return fn @performance
    查看全部
  • O5
    sorted()是排序函数,假如只输入一个list如sorted(L),默认是对L中的元素按照ASC2码来排序(当元素是简单元素时)。 假如要实现自定义排序,比较函数是f,则语句为sorted(L,f) 要注意的是: sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 (x, y),如果 x 应该排在 y 的后面,返回 1;如果 x 和 y 相等,返回 0;如果 x 应该排在 y 的前面,返回 -1。
    查看全部
  • *表示一个乘 若与字符串 列表 元组则是重复N次 **表示乘方 作为参数 *表示将调用时的多个参数作为一个元组传进去 def fun(*args): fun(1,2,3) #args=(1,2,3) **表示将调用时的关键字参数放入字典中 def fun(**args): fun(a=1,b=2) #args={'a':1,'b':2} 能够自动匹配fun(*arg,**kwargs) fun(1,2,3,a=4,b=5) 另: args=(1,2,3) fun=(*arg) #等价于调用fun(1,2,3) args={'a':1,'b':2} fun=(**args)#等价于调用fun(a=1,b=2)
    查看全部

举报

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

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