Python课程第十天_上午_课程笔记(简单装饰器Simple_Decorator)

本文主要介绍了Python编程中的简单装饰器概念,通过实例解析装饰器的工作原理及其在实际编程中的使用,帮助读者理解如何增强函数功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Day_10_Am_Simple_Decorator

# 装饰器
#   作用: 在不修改原函数的情况下, 在函数调用之前和之后添加装饰(功能)

#
def eat():
    print('吃饭')


def run():
    print('跑步')


# def eat2():
#     print('吃饭前先跳个舞')
#     eat()
#     run()
#     print('吃饭后唱个歌')

def outer(fn):
    print('先跳个舞')
    fn()
    print('再唱个歌')


outer(eat)
outer(run)
print('_' * 100)

# 简单装饰器


def outer2(fn):  # fn = eat2

    def inner():
        print('先跳个舞')
        fn()  # eat2
        print('再唱个歌')

    return inner

@outer2
def eat2():
    print('吃饭2')

# 使用装饰器: 原理
eat2 = outer2(eat2)
# print(eat2.__name__)  # inner
# 调用函数
# eat2()  # inner()

# 3. 写一个装饰器来统计函数运行的时间
import time

# 装饰器
def outer3(fn):
    print("fn: ", fn.__name__)  # fn:  show

    def inner():

        s = time.time()
        fn()
        e = time.time()
        print(e - s)

    return inner

@outer3
# @outer3 <=> show = outer3(show)
def show():
    s = 0
    for i in range(10000000):
        s += i
    # print(s)

# s = time.time()  #当前时间, 时间戳(秒), 1596164482.761053

print("show: ", show.__name__)  # inner
show()

# e = time.time()
# print(e - s)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值