fc5igm 发表于 2021-6-14 14:04:41

函数参数前打两个星号是什么意思?

from functools import wraps

def logit(logfile='out.log'):
    def logging_decorator(func):
      @wraps(func)
      def wrapped_function(*args, **kwargs):
            log_string = func.__name__ + " was called"
            print(log_string)
            # 打开logfile,并写入内容
            with open(logfile, 'a') as opened_file:
                # 现在将日志打到指定的logfile
                opened_file.write(log_string + '\n')
            return func(*args, **kwargs)
      return wrapped_function
    return logging_decorator
def wrapped_function(*args, **kwargs):
类似于此,如果一个函数的参数前缀了两个星号,是什么意思?

qq1151985918 发表于 2021-6-14 16:15:58

两个星号表示函数参数可以传递表达式(例如:a = 1),体现在函数内就是以字典形式储存在 kwargs 参数,
即 kwargs = {'a' : 1}
页: [1]
查看完整版本: 函数参数前打两个星号是什么意思?