You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python自定义Logger函数返回类型标注正确性及正确写法问询

问题解答

错误原因

你当前的返回类型标注是不正确的:logging.getLogger本身是用来生成logger实例的函数,并不是你返回的logger对象的类型。

正确返回类型

应该使用logging.Logger作为返回类型标注,这是所有通过logging.getLogger()生成的logger实例对应的标准类型。

修正后代码示例

import logging

def get_logger(param1: str, ...) -> logging.Logger:
    logger = logging.getLogger(__name__)
    
    # define format
    # add handlers
   
    return logger 

补充说明

  • 如果你使用的Python版本低于3.10,担心直接引用logging.Logger带来不必要的运行时导入开销,也可以用字符串字面量形式标注-> "logging.Logger",主流类型检查工具(如mypy、pyright)都可以正常识别。
  • 该写法是目前兼容性最好、最通用的标注方式。

内容的提问来源于stack exchange,提问作者navneethc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 05:24:03