python小知识
闭包的特点是返回的函数还引用了外层函数的局部变量
匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果
@修饰函数:
def decoration(f): def fn(*args,**kw): print 'call'+f.__name__+'()' return f(*args,**kw) return fn
引用时利用@decoration即可调用,所有函数将会作为实参传入decoration,比如实际f1函数,在引用了decoration后,f1=decoration(f1)
*args表示一个tuple,**kw表示一个dict,创建字典的用法:
def kw_dict(**kw): return kw print kw_dict(a=1,b=2,c=3) == {'a':1, 'b':2, 'c':3}
注意,*args和**kw同时使用时,要注意传参顺序,*args必须在**kw前面:
def f(**args,*kw): print args print kw
以上代码会提示error,invalid systax
实例属性与类属性:
当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。
=号的问题:
s,a,b=1,2,4
s=1,a=2,b=3
头部加上它避免乱码
# -*- coding: <encoding name> -*-
一般为utf-8