python 单例模式----装饰器实现

本文介绍了Python中使用装饰器结合闭包实现单例模式的方法。首先解释了闭包的作用,即延长局部变量的生命周期。接着讨论了装饰器的概念。然后详细说明了如何利用装饰器和闭包创建单例,确保类在整个项目运行期间只有一个实例。单例模式有助于简化参数传递,提高代码可读性。最后,作者提到Python中还有其他单例实现方式,并欢迎分享关于单例模式优缺点的知识。
摘要由CSDN通过智能技术生成

1、闭包的实现

#coding:utf-8
def A():
    s1=2
    def B():
        sum1=s1+2
        return sum1
    return B

if __name__ == '__main__':
    f1=A()
    f2=f1()
    print 'f1: ',f1
    print 'f2: ',f2
输出:
f1:  <function B at 0x02BDEB30>
f2:  4

可以看出f1为一个函数,调用这个函数时,才会返回值

闭包可以使得内函数返回的局部变量的生命周期与整个项目相同,即sum1会一直保留到整个工程运行结束,而不是这个函数执行完。

2、python 装饰器

def fun1(fun):
    print 'fun1 action'
    return fun

@fun1    
def fun2():
    print 'fun2 action'
    
if __name__ == '__main__':
    fun2()
<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值