2009-08-28 20 views
5

Il seguente esempio è tratto dal libro "Dive into python".Attributo della classe di documentazione

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

Questo esempio mostra che documenta la MP3FileInfo, ma come posso aggiungere aiuto per MP3FileInfo. tagDataMap

risposta

1

Cambialo in un metodo di proprietà.

+1

Mi domando su questo, da allora devi creare getter, setter e deleter espliciti (io li voglio tutti e tre), solo per farlo comportarsi normalmente. C'è un modo per impostare metodi predefiniti per questi che semplicemente racchiudono un attributo di classe? – u0b34a0f6ae

+0

Basta menzionare tagDataMap all'interno della docstring della classe. – aehlke

+0

... Utilizzando una docenza a più righe: '' 'foo bar' '' – aehlke

4

Il PEP 224 su docstring di attributo è stato rifiutato (molto tempo fa), quindi questo è un problema anche per me, a volte non so scegliere un attributo di classe o una proprietà di istanza - il secondo può avere una docstring .

0

fare in questo modo:

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. 

     """ 
     ... 

Nota anche se davvero non dovrebbe fare una docstring separata se l'attributo ha solo una descrizione di una riga. Invece, usa

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

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

    """ 

    tagDataMap = ... 
+0

nel mio caso l'attributo ha visibilità pubblica - ecco perché help (tagDataMap) è ciò che voglio ottenere – Dewfy

Problemi correlati