闭包和装饰模式,语法糖

#函数的定义,引用,调用
# def func(a,b):  #定义
#     print (a+b)
# add = func  #引用
# add(1,4)#被执行,调用
# func(4,6) #调用
#
# def func(a,b):
#     return a+b
# add1 = func(5,6)#调用func()函数,将函数的返回值赋值给add1,add1不能被调用,它引用了函数的返回值
# add2 = func    #将对象赋值给add2                          add2可以被调用,它引用了func对象本身
# print(add2(1,2))#被执行
# print(func(3,4))
# print(callable(add1))
# print(callable(add2))


#闭包
# def funX(x):
#     print('开始-------')
#     def funY(y):
#         print('funY---------')
#         return x*y
#     print('结束---------')
#     return funY
# print(funX(3)(5))
# m = funX(2)
# print(m(4))

#装饰器
def diguo():
    print('底锅50')
    return 50
def shucai(x):
    print('蔬菜10')
    def funX():
        return 10 + x()
    return funX
def yangrou(y):
    print('羊肉40')
    def funY():
        return 40 + y()
    return funY
result = yangrou(shucai(diguo))
print(result())
#语法糖
@yangrou
@yangrou
@shucai
def diguo():
    print('底锅50')
    return 50
diguo()





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值