py day34 装饰器

@装饰函数

def 原函数

格式,将原函数嵌入某装饰函数中,为原函数添加功能

python 复制代码
#时间装饰器,无参数
import time
def display_time(func):
    def wrapper():
        start_time = time.time()
        func()  # 直接调用原函数(无参数),这里的func()是指装饰器需要修饰的函数,在这里是prime_nums()
        end_time = time.time()
        print(f"执行时间: {end_time - start_time} 秒")
    return wrapper
python 复制代码
#打印原函数输出装饰器,原函数输入为元组或字典
def logger(func):
    def wrapper(*args,**kwards):
         result=func(*args,**kwards)
         print(f"执行函数,输入为:元组{args},字典{kwards}")
         print(f"函数{func.__name__}执行完毕,返回值{result}")  
         return result
    return wrapper

实例:

python 复制代码
def is_prime(num):
    """
    判断一个数是否为素数
    """
    if num < 2:
        return False
    elif num == 2:
        return True
    else:
        for i in range(2, num):
            if num % i == 0:
                return False
        return True

@display_time
def prime_nums(): # 这2行是一个整体
    """
    找出2到10000之间的所有素数并打印
    """
    for i in range(2, 10000):
        if is_prime(i):
            print(i)

prime_nums()        
相关推荐
卡提西亚3 小时前
C++笔记-24-文件读写操作
开发语言·c++·笔记
snakecy3 小时前
树莓派学习资料共享
大数据·开发语言·学习·系统架构
我的xiaodoujiao3 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 24--数据驱动--参数化处理 Excel 文件 1
python·学习·测试工具·pytest
Nebula_g3 小时前
C语言应用实例:学生管理系统1(指针、结构体综合应用,动态内存分配)
c语言·开发语言·学习·算法·基础
开心-开心急了3 小时前
关于Flutter与Qt for python 的一些技术、开源、商用等问题
开发语言·python·qt·flutter
友友马3 小时前
『 QT 』按钮类控件属性解析
开发语言·数据库·qt
Evand J3 小时前
【MATLAB例程】基于噪声协方差自适应的互补滤波器方法vs标准互补滤波,用于融合加速度计和陀螺仪数据,估计角度
开发语言·matlab
熊小猿3 小时前
RabbitMQ死信交换机与延迟队列:原理、实现与最佳实践
开发语言·后端·ruby
@小码农3 小时前
2025年北京海淀区中小学生信息学竞赛第一赛段试题(附答案)
人工智能·python·算法·蓝桥杯