阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

简单介绍python装饰器

84次阅读
没有评论

共计 763 个字符,预计需要花费 2 分钟才能阅读完成。

导读 这篇文章简单介绍一下 python 装饰器,希望对你们有所帮助。

简单正常 python 例子:

def up(text):
    return text.upper() #转成大写
def lo(text):
    return text.lower() ## 转成小写
def greet(func):
    gt = func("AbCd")
    print (gt)
greet(up)
greet(lo)

简单的装饰器:

import time
def c_time(func):
    def inner(*args, **kwargs):
        begin = time.time()
        func(*args, **kwargs)
        end = time.time()
        print("程序运行实际总时间:", end-begin)
    return inner
@c_time #fac = c_time(fac)
def fac(name):
    time.sleep(3)
    print(name + '睡了 3 秒')
fac("张三")

简单带参数的装饰器:

import time
def out(type): ## 相当于套多一层函数
    def c_time(func):
        def inner(*args,**kwargs):
            begin = time.time()
            func(*args,**kwargs)
            end = time.time()
            if type==2:
               print("这是类型 2,带参数的")
            print("程序运行实际总时间:", end-begin)
        return inner   ## 每层都需要返回函数
    return c_time ## 每层都需要返回函数
@out(type=2)
def fac(name):
    time.sleep(3)
    print(name + '睡了 3 秒')
fac("张三")

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计763字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中