python – 使用三引号在非标准上下文中创建“docstrings”是一个好习惯吗?
作者:互联网
我正在看某人的代码,这些代码在所有地方都有这种“docstrings”:
SLEEP_TIME_ON_FAILURE = 5
"""Time to keep the connection open in case of failure."""
SOCKET_TIMEOUT = 15
"""Socket timeout for inherited socket."""
...
根据Python文档,docstrings仅适用于模块,类或方法的开头.
上述非标准做法的含义是什么?为什么Python允许这个?这不会对性能产生影响吗?
解决方法:
就Python而言,这些不是文档字符串.它们只是用作表达式语句的字符串文字.你可以这样做 – 你可以使用任何有效的Python表达式作为自己的语句. Python并不关心表达式是否真的有效.对于自己的一个字符串,唯一的性能影响是在字节码编译时非常少量的额外工作;在运行时没有任何影响,因为这些字符串得到了优化.
一些文档生成器会查看这些字符串.例如,非常常见的Sphinx autodoc扩展将解析这些字符串以记录它们正上方的任何内容.在更改代码之前,请检查是否使用了类似的内容.
标签:python,comments,docstring,pep8 来源: https://codeday.me/bug/20190611/1215666.html