python面试题

python装饰器

装饰器的本质就是一个函数能为其它函数增加额外功能

装饰器不加参数

python 复制代码
#coding:utf-8
from time import time

#装饰器函数
def elapsed(target):
    "统计目标函数执行的耗时"
    def decorated(*args,**kwargs):
        start = time()
        r = target(*args,**kwargs)
        end = time()
        print("函数执行的耗时:",end - start)
        return r
    return decorated

#对目标函数进行elapsed装饰器函数的调用
#返回一个装饰后的名字还是叫power_sum的函数
@elapsed
def power_sum(n):
    total = 0
    for i in range(1,n+1):
        total += i ** 2
    return total
if __name__ == '__main__':
    #调用装饰器函数,装饰目标函数,得到一个装饰后的函数
    # power_sum = elapsed(power_sum)
    # print(power_sum(100000))
    #加上python的装饰器后
    print(power_sum(100000))

装饰器加上参数

python 复制代码
#coding:utf-8
from time import time

#装饰器函数
def elapsed_precision(n):
    def elapsed(target):
        "统计目标函数执行的耗时"
        def decorated(*args,**kwargs):
            start = time()
            r = target(*args,**kwargs)
            end = time()
            print("函数执行的耗时:",round(end - start,n))
            return r
        return decorated
    return elapsed

#对目标函数进行elapsed装饰器函数的调用
#返回一个装饰后的名字还是叫power_sum的函数
@elapsed_precision(2)
def power_sum(n):
    total = 0
    for i in range(1,n+1):
        total += i ** 2
    return total
if __name__ == '__main__':
    #调用装饰器函数,装饰目标函数,得到一个装饰后的函数
    # power_sum = elapsed(power_sum)
    # print(power_sum(100000))
    #加上python的装饰器后
    print(power_sum(100000))
相关推荐
2401_83595681几秒前
Tailwind CSS如何实现文字装饰线_使用decoration系列类丰富CSS文字
jvm·数据库·python
qq_334563559 分钟前
如何在MongoDB中实现连表查询_group与累计求和操作
jvm·数据库·python
weixin_5806140012 分钟前
C#怎么模拟键盘按键输入_C#如何实现自动化脚本【教程】
jvm·数据库·python
慕涯AI14 分钟前
Agent 30 课程开发指南 - 第18课
人工智能·python
Irene199115 分钟前
Python 中主要数据类型分类及特性总结(附:可哈希 (Hashable) 与 不可哈希 (Unhashable) 详解)
python
214396527 分钟前
Redis如何解决哨兵通知延迟问题_优化客户端连接池动态刷新拓扑的订阅监听机制
jvm·数据库·python
川石课堂软件测试29 分钟前
requests接口自动化测试
数据库·python·功能测试·测试工具·单元测试·grafana·prometheus
2401_8716965231 分钟前
HTML5中Canvas局部刷新区域重绘的算法优化
jvm·数据库·python
2301_7775993742 分钟前
CSS如何制作卡片翻转效果_利用backface-visibility与动画
jvm·数据库·python
解救女汉子44 分钟前
Python 中正确声明、重新赋值并安全使用 None 初始化变量的完整指南
jvm·数据库·python