python高级3
1. 单例模式的应用场景?
单例模式应用的场景一般发现在以下条件下
①. 资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如日志文件,应用配置。
②. 控制资源的情况下,方便资源之间的互相通信。如线程池等。
网站的计数器
应用配置
多线程池
数据库配置,数据库连接池
应用程序的日志应用
2. 什么是闭包?
在函数内部嵌套了一个函数,内函数使用了外函数的局部变量,并且外函数返回了内函数的引用,这样就构成了一个闭包。
def outfunc(a,b):
def innerfunc(x):
return x*a+b
return innerfunc
3. 装饰器的本质-闭包
装饰器的作用:在不违反开放封闭的原则下对现有的函数进行功能扩充,比如插入日志、性能测试、事务处理、缓存、 权限的校验等场景,有了装饰器就可以抽离出大量的与函数功能本身无关的雷同代码。函数计时的装饰器:
import time
def timeit(func):
def wrapper():
start = time.time()
func()
end =time.time()