Python的内置函数官方文档:https://docs.python.org/3.6/library/functions.html
这里先不一一列举,之后会找一天时间详细的写个小文档.
装饰器
装饰器可以扩展已经写好的函数,并且不会改变原函数的代码和调用方式.
现在有一个函数已经实现了简单的加法运算:
1 def my_func(a,b): 2 return a+b 3 4 print(my_func(1,2)) 5 6 7 >>>>3
那么现在我想不修改函数和调用代码的情况下为my_func添加一个乘法的功能
这时候就需要装饰器:
1 def autho(type="+"): 2 def deco(func): 3 def wra(*args, **kwargs): 4 ret = func(*args,**kwargs) 5 if type == "*": 6 ret = args[0]*args[1] 7 return ret 8 return wra 9 return deco 10 11 @autho("*") 12 def my_func(a,b): 13 return a+b 14 15 16 print(my_func(1,2)) 17 18 >>>2
生成器
生成器看似是一种节约内存提高效率的执行方法.深入学习可能会更加理解,先写个小例子:
def test1(item): while True: info = yield print("%s吃了[%d]个%s"%(info["name"],info["i"],item)) test2=test1("巧克力") test2.__next__() test3=test1("包子") test3.__next__() for i in range(1,5): test2.send({"name":"小明","i":i}) test3.send({"name":"小王","i":i}) >>> 小明吃了[1]个巧克力 小王吃了[1]个包子 小明吃了[2个巧克力 小王吃了[2]个包子 小明吃了[3]个巧克力 小王吃了[3]个包子 小明吃了[4]个巧克力 小王吃了[4]个包子
浙公网安备 33010602011771号