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

函数下添加docstring后返回docstring而非预期结果,是什么原因?

问题原因

该问题由代码格式错误导致,正常编写的docstring本身不会影响函数运行逻辑:

  • 第一种常见错误:你将函数的业务逻辑代码写在了docstring的三引号内部,相当于所有逻辑都被包裹进了docstring,此时函数体内只有docstring这一个字符串,自然会返回docstring而非执行预期逻辑。删除docstring后包裹的代码变成了正常的函数逻辑,就可以正常运行。
  • 第二种常见错误:docstring写完后的业务代码缩进层级和def定义行平级,没有被划入函数体范围,此时函数的有效内容只有docstring,也会出现返回docstring的问题。
正确写法示例
def 函数名(参数):
    """此处写docstring内容,仅作为说明文档"""
    # 业务代码和docstring保持相同缩进,属于函数体内容
    你的业务逻辑
    return 预期返回值
验证方法

你可以执行print(你的函数名.__doc__),如果输出内容里包含你写的业务逻辑代码,就说明你误将代码写进了docstring的引号内部。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:54:03