Python之路-函数基础01

一: 装饰器

1:装饰器模板

def wrapper(func):
    def inner(*args,**kwargs):
        ret =func(*args,**kwargs)
        return ret
    return inner

开放封闭原则

对扩展是开放的

对修改时封闭的

 
 
import  time

def wrapper(func):
def innner(*args,**kwargs):
start = time.time()
time.sleep(1)
func(*args,**kwargs)
end = time.time()
print(end-start)
return innner

@wrapper # func = wrapper(func)
def func():
print('hello world')
func()
# 给函数加上认证功能,登录一次就可以多次调用函数

FLAG = False
def login(func):
    def innner(*args,**kwargs):
        global FLAG
        if FLAG:
            ret =func(*args,**kwargs)
            return func
        else:
            username = input('username: ')
            password = input('password: ')
            if username == 'wangys' and password == 'wangys':
                FLAG = True
                ret =func(*args,**kwargs)
                return func
            else:print("用户名密码错误")
    return innner


@login
def shoplist_add():
    print('增加一个商品')
@login
def shoplist_delete():
    print('删除一个商品')



shoplist_add()
shoplist_delete()

猜你喜欢

转载自www.cnblogs.com/wc89/p/10269764.html
今日推荐