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()        
相关推荐
迁旭21 小时前
prompt_toolkit 3.0.52 API 参考手册
python
WL_Aurora21 小时前
Python 算法基础篇之堆和优先队列
python·算法
早日退休!!!21 小时前
PyTorch适配NPU
人工智能·pytorch·python
刀法如飞21 小时前
一款开箱即用的Flask 3.0 MVC工程脚手架,面向AI开发
后端·python·flask
xingpanvip21 小时前
星盘接口开发文档:组合三限盘接口指南
android·开发语言·前端·python·php·lua
无忧.芙桃21 小时前
现代C++讲解之变量模板,泛型lambda,函数返回类型推导的使用
开发语言·c++·visualstudio
格林威21 小时前
工业视觉检测:两大主流异常检测开源框架深度对比(PatchCore vs SPADE)
开发语言·人工智能·深度学习·数码相机·计算机视觉·视觉检测·工业相机
2zcode21 小时前
基于Matlab元胞自动机模拟(CA)静态再结晶过程
开发语言·matlab·静态再结晶
vortex521 小时前
Villain:新一代轻量级 C2 框架完整使用指南
python·网络安全·kali·c2
测试员周周1 天前
【AI测试系统】第5篇:AI 编码工具抛硬币?我们用 LangGraph 做了个“确定性+AI”的测试系统(附自愈架构)
人工智能·python·功能测试·测试工具·架构·langchain·单元测试