2009-08-28 17 views
5

以下のサンプルは "Dive into python"ブックから抜粋したものです。クラス属性の文書化

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

MP3FileInfoを文書化し、このサンプルを示しますが、どのように私はMP3FileInfoにヘルプを追加することができます。 tagDataMap

答えて

1

プロパティメソッドに変更します。

+1

これは私がすべて正常に動作するように、明示的なゲッター、セッターとdeleter(私は3つを望んで)を作成する必要があるので、これは不思議です。単純にクラス属性をラップするデフォルトのメソッドを設定する方法はありますか? – u0b34a0f6ae

+0

あなたのクラスdocstringの中にtagDataMapを記述するだけです。 – aehlke

+0

...私の場合、複数行のdocstring: '' 'foo bar' '' ' – 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

を使用することで、public visibilityが得られます。これがhelp(tagDataMap)を取得したい理由です – Dewfy