2009-08-28 100 views
5

下面的示例取自「潛入python」一書。記錄類屬性

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

此示例顯示記錄MP3FileInfo,但是如何向MP3FileInfo添加幫助。 tagDataMap地圖

回答

1

將其更改爲屬性方法。

+1

我想知道這一點,因爲那時你必須創建明確的getter,setter和deleter(我希望所有三個),只有讓它行爲正常。有沒有一種方法來設置這些只包裝一個類屬性的默認方法? – u0b34a0f6ae

+0

只需在您的類文檔字符串中提及tagDataMap。 – aehlke

+0

...通過使用多行文檔字符串:'''富酒吧''' – aehlke

4

關於屬性docstrings的PEP 224被拒絕(很久以前),所以這對我來說也是一個問題,有時我不知道要選擇類屬性還是實例屬性 - 第二個可以有文檔字符串。

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 = ... 
+0

在我的情況屬性具有公共可見性 - 這就是爲什麼幫助(tagDataMap)是我想要的 – Dewfy