为了账号安全,请及时绑定邮箱和手机立即绑定

调用不带括号的python类有什么作用?

调用不带括号的python类有什么作用?

DIEA 2021-03-30 18:14:27
我不明白在没有括号的情况下调用类会发生什么。我的问题来自阅读此Python HOWTO:Logging Cookbook。具体来说,我试图了解我在此问题结尾处添加的食谱。配方的目的是指示logging格式化程序从日志记录配置字典中使用UTC时间。定义了一个类,class UTCFormatter(logging.Formatter):    converter = time.gmtime然后仅按名称使用;没有括号。'formatters': {            'utc': {                '()': UTCFormatter,   # <-------------------Class used here                'format': '%(asctime)s %(message)s',            },这里发生了什么,为什么以这种方式调用类比创建类的实例有好处?这种做事的方式叫什么?也就是说,我可以搜索哪些关键字(“类”以外)来帮助我在python文档中找到有关此信息的更多信息?完整食谱:import loggingimport logging.configimport timeclass UTCFormatter(logging.Formatter):    converter = time.gmtimeLOGGING = {    'version': 1,    'disable_existing_loggers': False,    'formatters': {        'utc': {            '()': UTCFormatter,            'format': '%(asctime)s %(message)s',        },        'local': {            'format': '%(asctime)s %(message)s',        }    },    'handlers': {        'console1': {            'class': 'logging.StreamHandler',            'formatter': 'utc',        },        'console2': {            'class': 'logging.StreamHandler',            'formatter': 'local',        },    },    'root': {        'handlers': ['console1', 'console2'],   }}if __name__ == '__main__':    logging.config.dictConfig(LOGGING)    logging.warning('The local time is %s', time.asctime())
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 211 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号