python 装饰器

装饰器(Decorators)是 Python 的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短。函数从主代码抽离出来实现复用,把函数里面可复用的部分再抽离出来就要用到装饰器。

*当你把一对小括号放在函数后面,这个函数就会执行;然而如果你不放括号在它后面,那它可以被到处传递,并且可以赋值给别的变量而不去执行它

1.函数是可以嵌套的

# 函数可以嵌套
def one(name=None):
    def two():
        pass
    if name:
        return two
    return one

b_1 = one()
b_2 = one('1')
print(b_1)  #<function one at 0x000001CDEA410E18>
print(b_2)  #<function one.<locals>.two at 0x000001CDEA415158>

2.一个函数可以作为参数传入另一个函数中

#函数可以调用
def one(func):
    print('开始主函数')
    print('------------------')
	return func()

def two():
    return '被调用函数'

#
a =one(two)
print(a)

输出:
开始主函数
------------------
被调用函数

3.加上装饰器(two函数用one函数来装饰自己)

def one(func):
    print('开始主函数')
    print('------------------')
    return func #加()会报错

@one
def two():
    return '被调用函数'

a = two()
print(a)

输出:
开始主函数
------------------
被调用函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值