python日记----2017.7.28

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python日记----2017.7.28相关的知识,希望对你有一定的参考价值。

装饰器:
开放封闭原则

  1.对扩展是开放的
    我们说,任何一个程序,不可能在设计之 初就已经想好了所有的功能并且未来不做 任何更新和修改。所以我们必须允许代码 扩展、添加新功能。

  2.对修改是封闭的
就像我们刚刚提到的,因为我们写的一个函数,很有可能已经交付给其他人使用了,如果这个时候我们对其进行了修改,很有可能影响其他已经在使用该函数的用户。

装饰器完美的遵循了这个开放封闭原则。

3.带参装饰器:需要自己返回以函数作为参数的装饰器。
def outer(flag):
def timer(func):
def inner(*args,**kwargs):
if flag:
print(‘‘‘执行函数之前要做的‘‘‘)
re = func(*args,**kwargs)
if flag:
print(‘‘‘执行函数之后要做的‘‘‘)
return re
return inner
return timer

@outer(False)
def func():
print(111)

func()
4.多个装饰器装饰同一个函数:
多个装饰器是按照装饰器的顺序进行执行的.装饰器就是把函数的名字传入进去, 在执行函数之前, 进行一些提前的处理.
def wrapper1(func):
def inner():
print(‘wrapper1 ,before func‘)
func()
print(‘wrapper1 ,after func‘)
return inner

def wrapper2(func):
def inner():
print(‘wrapper2 ,before func‘)
func()
print(‘wrapper2 ,after func‘)
return inner

@wrapper2
@wrapper1
def f():
print(‘in f‘)

f()

































以上是关于python日记----2017.7.28的主要内容,如果未能解决你的问题,请参考以下文章

第三组冲刺会议 2017.7.28

2017.7.28

2017.7.28心得

第五组第十五次冲刺例会纪要 2017/7/28

第二组项目冲刺(Release版本)第四次每日例会 2017/7/28

[计蒜客NOIP模拟赛]2017.7.28Day1回顾反思总结