[Python-de] Funktionen mit mehreren R?ckgabewerten

holger krekel pyth at devel.trillke.net
Thu May 8 12:56:46 EDT 2003


Ron Opitz wrote:
> Hallo,
> 
> ich habe eine Funktion, die mir Daten aus einer Datei ausließt.
> In der Datei sind mehrere Informationen gespeichert, die ich in 
> unterschiedlichen Dictionarys speichern muß.
> 
> Bis jetzt habe ich nur gelesen, dass ein Wert per return übergeben werden 
> kann. Welche Möglichkeiten habe ich noch an die Dictionarys ranzukommen.

ich mache es gerne so:

class data:
    def __init__(self, **kw):
        self.__dict__ = kw

damit kannst du in einer funktion folgendes tun:

    def funktion(...):
        # compute result1, result2, result3
        return data(name1=result1, name2=result2, name3=result3)

und beim aufruf

    res = funktion(...)

    # use directly with
    res.name1 
    res.name2
    res.name3 

das hat den vorteil, dass du spaeter leicht noch weitere results
zurueckgeben kannst und nicht die Aufruf-Signaturen aendern 
musst. Ist ein recht flexibles pattern. 

gruss,

    holger




More information about the Python-de mailing list