zoukankan      html  css  js  c++  java
  • python装饰器

    python装饰器

    当一个函数中,不同逻辑混杂在一起的时候,程序的可读性会大打折扣。这个时候,可以考虑用一种叫做“装饰器”的东西来重新整理代码。
    应用场景,顾名思义是去装饰一个东西,这里的东西指一个函数func,想要不修改func去为func添加一些附加功能,如权限验证,程序运行时间等。

    import time
    
    def display_time(func):
        def wrapper(*args):#这里wrapper其实就是新的逻辑上的func ,*args就是func里面传递过来的参数
            start = time.time()
            result = func(*args)#犹豫func函数有返回值 所以用result去接受一下 然后模拟func的返回,返回result
            end = time.time()
            print("Total time: {} s".format(end - start))
            return result
        return wrapper#这里是固定格式返回该函数的地址
    
    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#为prime_nums(maxnumber)添加程序运行计数功能
    def prime_nums(maxnumber):
        count = 0
        for i in range(2, maxnumber):
            if is_prime(i):
                count = count + 1
               # print(i)
        return count;#返回count数值
    
    cnt = prime_nums(1000)#调用被装饰过的prime_nums函数
    print(cnt);
    
  • 相关阅读:
    数据库的创建与管理
    html+css画虚线,实线
    隐藏导航练习
    表单—注册邮箱
    整理—运算符l
    softmax函数理解
    离线配置Anaconda3+tensorflow-gpu1.4.0+cuda8.0+cudnn6.0
    stl总结精简版
    hdu_2030
    康托展开
  • 原文地址:https://www.cnblogs.com/DengSchoo/p/12617935.html
Copyright © 2011-2022 走看看