记录类属性

时间:2009-08-28 15:00:54

标签: python class attributes self-documenting

以下示例摘自“Dive into python”一书。

class MP3FileInfo(FileInfo):
    "store ID3v1.0 MP3 tags"
    tagDataMap = ...

此示例显示记录MP3FileInfo,但如何向MP3FileInfo添加帮助。 tagDataMap

3 个答案:

答案 0 :(得分:4)

属性docstrings上的PEP 224被拒绝(很久以前),所以这对我来说也是一个问题,有时候我不知道选择一个类属性还是一个实例属性 - 第二个可以有一个文档字符串。

答案 1 :(得分:1)

将其更改为属性方法。

答案 2 :(得分:0)

这样做:

class MP3FileInfo(FileInfo):
    """Store ID3v1.0 MP3 tags."""

    @property 
    def tagDataMap(self):
        """This function computes map of tags.

        The amount of work necessary to compute is quite large, therefore
        we memoize the result.

        """
        ...

注意,如果属性只有一行描述,那么你真的不应该单独创建一个文档字符串。相反,使用

class MP3FileInfo(FileInfo):
    """Store ID3v1.0 MP3 tags.

    Here are the attributes:
        tagDataMap -- contains a map of tags

    """

    tagDataMap = ...