装饰器运用问题

来源:12-13 装饰器 六

一直2下去3482599

2018-01-31

如果在同一个函数,有的地方需要使用装饰器的功能,有的地方不需要装饰器里新加的功能,这种情况怎么处理,加了那个语法糖后就不能正常调用函数了吗

写回答

2回答

7七月

2018-01-31

那就有的地方打装饰器,有的地方不打,打不打看你自己的需求。比如你有的函数要记日志有的不记日志,那就自己选择。

0
4
7七月
回复
一直2下去3482599
- - 我也是临时想到的。因为一般不会有这样的需求,我觉得你还是需要调整下思路。
2018-01-31
共4条回复

慕斯卡8323326

2018-02-17

你这个问题提的好,不然还没往这边想!照着网上试了试,确实很有用,就是写起来有点麻烦

import time



def decorator(*dargs, **dkw):

    def wrapper(func):

        def _wrapper(*args, **kw):

            if dargs[0] == 0:

                print(time.time())

           else:

               print("No time")

           return func(*args, **kw)

       return _wrapper

    return wrapper


@decorator(1)

def f(x):

    print(x)


f('function')


0
0

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14447 学习 · 4438 问题

查看课程