是否可以以简单的方式将文档字符串添加到namedtuple?
我试过了
from collections import namedtuple
Point = namedtuple("Point", ["x", "y"])
"""
A point in 2D space
"""
# Yet another test
"""
A(nother) point in 2D space
"""
Point2 = namedtuple("Point2", ["x", "y"])
print Point.__doc__ # -> "Point(x, y)"
print Point2.__doc__ # -> "Point2(x, y)"
但这并不能切断它。有别的办法吗?
在想同样的事情的时候,通过谷歌遇到了这个老问题。
只是想指出,您可以通过从类声明中调用namedtuple()来整理它:
您可以通过在
namedtuple
返回的值周围创建一个简单的空包装类来实现这一点。我创建的文件的内容(nt.py
):然后在Python REPL中:
或者你可以:
如果您不喜欢每次都手工操作,那么编写一种工厂函数来执行此操作是很简单的:
哪些输出:
在Python 3中,不需要包装器,因为类型的
__doc__
属性是可写的。这与标准类定义非常对应,其中docstring紧跟在头后面。
这在Python 2中不起作用。
AttributeError: attribute '__doc__' of 'type' objects is not writable
。相关问题 更多 >
编程相关推荐