-
>>> class attribute(): ... def __init__(self): ... self.attribute_1='i am attribute 1' ... self.attribute_2='i am attribute 2' ... >>> result=attribute() >>> dir(result) ['__doc__', '__init__', '__module__', 'attribute_1', 'attribute_2'] >>> getattr(result,'attribute_1') 'i am attribute 1' >>> getattr(result,'attribute_3') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: attribute instance has no attribute 'attribute_3' >>> getattr(result,'attribute_3','i am attribute 3') 'i am attribute 3' >>> dir(result) ['__doc__', '__init__', '__module__', 'attribute_1', 'attribute_2'] >>> getattr(result,'attribute_2') 'i am attribute 2' >>> setattr(result,'attribute_2','i am changed') >>> getattr(result,'attribute_2') 'i am changed' >>> setattr(result,'attribute_4','i am new one') >>> dir(result) ['__doc__', '__init__', '__module__', 'attribute_1', 'attribute_2', 'attribute_4']查看全部
-
setattr(object,name,value): 作用:设置object的名称为name(type:string)的属性的属性值为value,属性name可以是已存在属性也可以是新属性。 getattr(object,name,default): 作用:返回object的名称为name的属性的属性值,如果属性name存在,则直接返回其属性值;如果属性name不存在,则触发AttribetError异常或当可选参数default定义时返回default值。查看全部
-
Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。 默认参数一定要用不可变对象,如果是可变对象,运行会有逻辑错误! 要注意定义可变参数和关键字参数的语法: *args是可变参数,args接收的是一个tuple; **kw是关键字参数,kw接收的是一个dict。 以及调用函数时如何传入可变参数和关键字参数的语法: 可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3)); 关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。 使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。查看全部
-
@语法 装饰器查看全部
-
sss查看全部
-
import time t = time.time() 取出系统当前时间查看全部
-
带参数decorator 1.函数本身就需要传入'INFO'或'DEBUG'这样的参数 @log('DEBUG') def my_func(): pass 2.带参数的log函数首先返回一个decorator函数,再让这个decorator函数接收my_func并返回新函数(3层嵌套的decorator)查看全部
-
,返回函数不要引用任何循环变量,或者后续会发生变化的变量。查看全部
-
L2 = sorted(L1,lambda p1,p2:cmp(p1.name,p2.name)) L2 = sorted(L1,cmp = lambda x, y: cmp(x.name, y.name))查看全部
-
像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。举例如下:查看全部
-
reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。查看全部
-
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。查看全部
-
time.time() time() -> floating point number 返回当前时间的时间戳查看全部
-
%是格式化的意思,%s是格式化字符串,%f是格式化浮点数,%c是格式化字符 >>>print 'call %s() in %fs' % (f.__name__, (t2 - t1)) 这句话的意思是把f.__name__插入到了%s这个位置,(t2-t1)计算后的值插入到了%f这个位置查看全部
-
1.def fn(x): print 'call ' + f.__name__ + '()...' return f(x) 这个代码块说明了新的函数所需要实现的功能,并将其定义为fn() 2.def log(f): return fn 这两行是为了定义log(f)为一个返回函数的高阶函数,他可以在给定参数为f时返回fn,即在f中增加了打印日志的功能查看全部
举报
0/150
提交
取消