python快速学习回忆版本------第七章

'''
闭包:在函数体重定义内部函数,并且使用了外部函数的变量,然后把内部函数给返回
     那么这个内部函数就是闭包

优点:避免污染全局环境,这样就可以在函数体外使用函数体中定义的变量
缺点:长期占用内存,造成内存浪费
'''

a =10
def fun1():
    b = 20
    def fun2():
        c=30
        return b
    return fun2

f2 = fun1()
print(f2())

'''
装饰器:把一个函数作为参数返回一个替代版函数,本质上就是一个返回函数的函数
'''
#在不修改原函数的前提下增加函数的功能,最好的方式是使用装饰器
def func():
    print("sunck is a good man")
def wrapper(f):
    def inner():
        print("***********")
        f()
    return inner

#d = wrapper(func)
#d()

func = wrapper(func)
func()

def say(name,age):
    return "%s is good man!he is %d years old"%(name,age)

print(say("sumck",18))

def wrapper2(f):
    def inner2(name,age):
        if age<=0:
            age = 0
        return f(name,age)
    return inner2 
print(say("sunck",-18))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值