-
捕获错误:try...except...,try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句
try: from cStringIO import StringIO#从cStringIO导入,获得更快的运行速度 except ImportError: from StringIO import StringIO#从cStringIO导入失败则从StringIO导入
查看全部 -
导入模块
import math
from math import pow,sin,log,出现同名冲突通过别名来避免,from logging import log as logger
查看全部 -
模块名字:py文件名,同名模块放入不同包
包:文件夹,通过__init__.py区分包和普通目录,每层目录都要有,这是python识别该包的前提
#test.py自身模块名
import p1.util#引用pa.util模块
print p1.util.f(2,10)#调用p1.util模块的f函数
查看全部 -
functools.partial就是帮助我们创建一个偏函数,不需要自定义int2(),可以直接使用
int2 = functools.partial(int, base=2)
创建一个新的函数int2
查看全部 -
functools可以用来把原函数所有属性复制到新函数上,但由于把原函数签名改成了(*args,**kw),因此无法获得原函数的参数信息
import functools#赋值原函数属性 def log(f):#外层decorator @functools.wraps(f)#把原函数f的属性复制到新函数 def wrapper(*args, **kw):#原函数的二次包裹,添加新逻辑 print 'call...'#新添加的逻辑 return f(*args, **kw)#原函数功能调用 return wrapper#将新函数返回
查看全部 -
匿名函数:不需要显式的定义函数
匿名函数:lambda x:x*x->def f(x): return x*x,lambda表示匿名函数,冒号前面的x表示函数参数,匿名函数只有一个表达式,不写return,表达式的值即为返回值
查看全部 -
这是动态语言(例如Python)和静态语言(例如Java)最大的差别之一。动态语言调用实例方法,不检查类型,只要方法存在,参数正确,就可以调用
查看全部 -
'call '+f.__name__+'() in '+time.strftime('%Y-%m-%d',time.localtime(time.time()))
记录时间
查看全部 -
>>> sorted([1, 3, 9, 5, 0], lambda x,y: -cmp(x,y)) [9, 5, 3, 1, 0]
查看全部 -
sorted(iterable, cmp=None, key=None, reverse=False)里面有四个参数
查看全部 -
本节与上一节需重复看一下
查看全部 -
闭包:内层函数引用外层函数变量,包括参数,然后返回内层函数的情况
闭包的特点:返回的函数还引用了外层函数的局部变量,所以要确保引用的局部变量在函数返回后不能变
问题的产生是因为函数只在执行时才去获取外层参数i,若函数定义时可以获取到i,问题便可解决。而默认参数正好可以完成定义时获取i值且运行函数时无需参数输入的功能,所以在函数f()定义中改为f(m = i),函数f返回值改为m*m即可.
查看全部 -
Python不但可以返回int、str、list、dict等数据类型,还可以返回函数
查看全部 -
sorted()接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素x,y,如果x应该排在y的前面,返回-1,如果x应该排在y的后面,返回1.如果x和y相等,返回0。
sorted()也可以对字符串进行排序,字符串默认按照ASCII大小比较
查看全部 -
定义关键字参数要使用**kw
查看全部
举报