Python闭包和装饰器笔记

闭包:函数可以作为另一个函数的参数或返回值,可以赋给一个变量

即在一个函数内部可以定义另一个函数,有了嵌套函数这种结构,便会产生闭包

def hanshu(a):

        def qiantao():

           return

        return qiantao

其中a作为参数传给qiantao,qiantao的return再作为参数传给hanshu,但是hanshu的return就是qiantao


装饰器

# #方法1
# def diguo():
#     print("底锅50")
#     return 50
# def doupi(f):
#     print("豆皮10块")
#     def funx():
#         return 10+f()
#     return funx
# def xiangcai(f):
#     print("香菜5块")
#     def funy():
#         return 5+f()
#     return funy
# result=xiangcai(xiangcai(doupi(diguo)))
# print(result())
#
# # 方法2
#
# def doupi(f):
#     def caidan1():
#         print("豆皮10块")
#         return 10+f()
#     return caidan1
# def xiangcai(f):
#     def caidan2():
#         print("香菜5块")
#         return 5+f()
#     return caidan2
# @doupi
# @xiangcai
# @xiangcai
# def diguo():
#     print("底锅50")
#     return 50
# x=diguo()
# print(x)
其中result=xiangcai(xiangcai(doupi(diguo)))等同于@doupi@xiangcai@xiangcai
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值