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()        
相关推荐
码海踏浪2 分钟前
JMeter 时间函数合集
开发语言·python
serve the people3 分钟前
tensorflow 深度解析 Sequential 模型的输入形状指定
人工智能·python·tensorflow
麦麦鸡腿堡3 分钟前
Java_反射暴破创建对象与访问类中的成员
java·开发语言
不会c嘎嘎3 分钟前
深入理解QT之信号和槽
开发语言·qt
SunnyDays10114 分钟前
Python 实现 PDF 文档压缩:完整指南
linux·开发语言·python
长安牧笛4 分钟前
设计考研党备考开支追踪程序,记录教材,网课,报名费支出,按科目统计花费,优化备考预算分配。
python
Cx330❀5 分钟前
《C++ 动态规划》第001-002题:第N个泰波拉契数,三步问题
开发语言·c++·算法·动态规划
神仙别闹5 分钟前
基于Qt5(C++)+SQLite 开发的一个小巧精美的本地音乐播放器
开发语言·c++·qt
差点GDP7 分钟前
C语言常用编译命令和示例
c语言·开发语言
长空任鸟飞_阿康8 分钟前
LangChain 技术栈全解析:从模型编排到 RAG 实战
前端·python·langchain