有没有理由把代码放在Python的docstring之前?

Ale*_*kov 3 python docstring function pep

我在其他人的Python代码中看到他们在函数的docstring之前粘贴了一些检查; 这样的事情:

def func(args):
  if x_version != 1.7:
    return
  """docstring is here"""
  # function body code
  # ...
Run Code Online (Sandbox Code Playgroud)

是否有当您在任何情况下,应该必须把一些代码的文档字符串之前要解决什么?是否有任何特殊情况需要引入这种风格,或者它总是只是一个糟糕的造型,因此必须修复到这样的东西?

def func(args):
  """docstring is here"""
  if x_version != 1.7:
    return
  # function body code
  # ...
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 7

如果它是函数体中的第一个语句,Python将只选取一个docstring .在它之前放置代码意味着字符串完全被忽略:

>>> def func(args):
...   if x_version != 1.7:
...     return
...   """docstring is here"""
...
>>> func.__doc__ is None
True
Run Code Online (Sandbox Code Playgroud)

如果您希望docstring实际上有任何效果,则不应该这样做.

Python参考文档:

作为函数体中第一个语句出现的字符串文字将转换为函数的__doc__属性,因此转换为函数的docstring.

大胆强调我的.