|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- 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):
复制代码
类似于此,如果一个函数的参数前缀了两个星号,是什么意思?
两个星号表示函数参数可以传递表达式(例如:a = 1),体现在函数内就是以字典形式储存在 kwargs 参数,
即 kwargs = {'a' : 1}
|
|