2 Stimmen

Sind **kwargs eine gute Wahl für Nicht-Konfigurationsdaten in __init__?

Ich denke an die Verwendung von **kwargs auf ungewöhnliche Weise: als Datenlieferant und nicht als überlastungsersetzendes Werkzeug. Auf diese Weise sollten alle Schlüsselwortargumente von einem Typ sein, z.B. speziell geformte Tupel, und auf keinen Fall anders. Zum Beispiel:

class SomeClass(object):
    '''All **kwargs should be in ("string", 1, True) form'''
    def __init__(self, some_param, **kwargs):
        self.param = some_param
        for arg in kwargs.itervalues():
            if not isinstance(arg[0], str):
            ...

        self.some_dict = kwargs

Ist das in Ordnung so? Ich fühle mich... seltsam, es scheint unkanonisch.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X