2020/1/18python装饰器(为多个功能添加一个相同功能)

python装饰器结构体:

def 函数装饰器名称(func):
    def 内嵌函数(*args,**kwargs):
    	需要添加的新功能
    	return func(*args,**kwargs)
    return 内嵌函数

用装饰器为系统的两个功能添加验证登陆的功能

def verify_permissions(func):
    def wrapper(*args,**kwargs):
    	print("验证权限")
    	return func(*args,**kwargs)
    return wrapper
   
@verify_permissions   #先去调用装饰器
def enter_background(loginId,pwd):
    print(loginId,pwd)
    print("进入后台系统....")

@verify_permissions  #先去调用装饰器
def delete_order(order_id):
    print("删除%d订单..."%order_id)

enter_background("zs",123)
delete_order(101)



def verify_account(func):
    def wrapper(*args,**kwargs):
    	print("验证账户")
    	return func(*args,**kwargs)
    return wrapper
 @verify_account
 def deposit(money):
     print("存款“,money)
 @verify_account
 def withdraw():
     print("取钱")
     return 10000
 
 deposit(5000)
 print(withdraw())



import time

def print_execute_time(func):
    def wrapper(*args, **kwargs):
        start_time=time.time()
        result=func(*args,**kwargs)
        execute_time=time.time()-start_time
        print("执行时间是:",execute_time)
        return result
     return wrapper
class Student:
    def __init__(self,name):
    	self.name=name
    @print_execute_time
    def study(self):
    	print("开始学习喽")
    	time.sleep(2)   #睡眠两秒 模拟学习了两秒
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值