>> foo(5) 25 >>> foo(6)-6ren">
gpt4 book ai didi

python-3.x - 文档字符串中的python注释

转载 作者:行者123 更新时间:2023-12-03 23:53:45 25 4
gpt4 key购买 nike

我发现这个是因为我遇到的一些家庭作业问题是通过文档字符串测试的,它让我失败了。

例如:

def foo(x):
"""
>>> foo(5)
25
>>> foo(6)
36 # Are you sure?
"""
return x**2

if __name__ == '__main__':
import doctest
doctest.testmod(verbose=True)

上面的例子失败了:
Expected:
36 # are you sure?
Got:
36

我想知道我们是否不应该在 docstring 中添加注释?或者有没有办法让python忽略文档字符串中的注释?

最佳答案

Doctest通过从命令行捕获标准输出来工作。测试字符串中提供的文本必须与您的输出完全匹配。 Doctest 无法知道您输出的是什么类型的数据:它只能比较文本输出。在您的情况下,它是一个整数,后跟一个注释,但是如果您执行以下操作会怎样:

>>> print('36   # are you sure?')

您想要的任何注释都必须在可执行行中:
>>> foo(6)  # are you sure?
36

这可能在视觉上不那么吸引人,但几乎可以达到相同的目的并且确实有效。当带有注释的行传递给解释器时,注释会得到正确处理。

关于python-3.x - 文档字符串中的python注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53112317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com