为什么没有缺少文档字符串?

时间:2015-12-12 15:16:49

标签: python documentation language-design

据我所知,Python中的每个内置对象都有一个docstring。除了,正如我今天刚刚发现的那样,没有。这是为什么?

1 个答案:

答案 0 :(得分:2)

None除了存在之外没有其他功能。它是一个实例,而不是一个类型,而其他内置函数总是 callable 或者是某些实例。

字符串,数字,布尔值等都具有可调用类型对象,通常还具有特定的转换功能(bool()int()str())。 None没有;它的类型不会产生任何东西,因为只有一个实例:

>>> type(None)
<type 'NoneType'>
>>> type(None)()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot create 'NoneType' instances

None不是唯一的此类对象。 EllipsisNotImplemented是其他此类对象:

>>> Ellipsis.__doc__ is None
True
>>> NotImplemented.__doc__ is None
True
>>> type(Ellipsis)()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot create 'ellipsis' instances
>>> type(NotImplemented)()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot create 'NotImplementedType' instances

它们都是 sentinels ,是指示特定状态或值的对象,但在该函数之外无效。

因此,它们可能对它们的使用方式有意义,而不是它们的创建方式。记录此内容的正确位置是Datamodel reference documentation,而不是文档字符串。