如何像在JavaScript中那样在Python中包装函数?

时间:2018-10-08 04:29:02

标签: python python-3.x

我想创建一个仅在Debug=True时执行打印的新功能。这就是我在JavaScript中的操作方式:

function log(...args) {
    if (debug) console.log.apply(null,args)
}

 function log() {
        if (debug) console.log.apply(null,arguments)
    }

我如何在Python中做类似的事情?

问题:如何传递我在Python中得到的所有参数?

2 个答案:

答案 0 :(得分:1)

您可以使用可变参数和可变关键字参数:

# assuming debug is a global variable initialized as either True or False
def log(*args, **kwargs):
    if debug:
        print(*args, **kwargs)

答案 1 :(得分:0)

要具体回答您的问题,类似以下内容的内容将对您有所帮助:

def log(**kwargs):
    if kwargs.get("debug") == True:
        print "{}".format(kwargs)

尤其是,您可以阅读有关*args**kwargs-this SO question is an excellent start

的更多信息