装饰器

代码原则:
开放封闭原则:已经实现的功能的封闭,已经实现功能的代码不允许被修改,但是可以被扩展

装饰器实例:

def warpper(func):
    def inner():
        print('登陆验证')
        func()
    return  inner

@warpper
def cost():
    print('付款')

@warpper
def joincar():
    print('加入购物车')

# @staticmethod
# @classmethod之前使用过得
@warpper
def confirm():
    print('确认收货')

if __name__ == '__main__':
    cost()
    joincar()
    confirm()

#def warpper()将函数加载到内存
# @warpper
# cost=warpper(cost)

多层装饰器实例:

def wrap1(func):
    print('begin wrap1')
    def inner():
        print('brgin wrap1 inner')
        func()
    print('end wrapl')
    return inner


def wrap2(func):
    print('begin wrap2')
    def inner():
        print('brgin wrap2 inner')
        func()
    print('end wrap2')
    return inner


@wrap1
@wrap2
def cost():
    print('付款')

# cost=wrap2(cost)
# cost=wrap1(wrap2(cost))

print('***********************')
if __name__ == '__main__':
    cost()

结合:从下往上
执行:从上往下

闭包函数实现创建直线函数

def line_conf(k,b):    
	def line(x):
        return k*x+b
    return line#后面不能加括号

line1=line_conf(1.0,2.0)
line1(2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值