optionale Argumente, die in der Initialisierung der python-Klasse

Ich Frage mich, ob jemand irgendwelche guten Möglichkeiten, schnell zu erklären, wie man effizient und pythonically erstellen Benutzer-definierte Objekte mit optionalen Argumenten.
Zum Beispiel, ich möchte um das Objekt zu erzeugen:

class Object:
    def __init__(self, some_other_object, i, *j, *k):
        self.some_other_object = some_other_object
        self.i = i
        # If j is specified, assume it is = i
        if(j==None):
            self.j = i
        else:
            self.j = j
        # If k is given, assume 0
        if(k==None):
            self.k = 0
        else:
            self.k = k

Gibt es einen besseren Weg, dies zu tun?

EDIT: änderte ich den code, so dass es breiter und leichter zu verstehen.

  • Dieser ist nicht gültig, Sie können nicht mehrere * Argumente. Das argument Präfix * wird eine Liste aller nicht-keyword-Argumente, die kommen nach diesem Punkt.
  • Danke @Lattyware , dass das hilft. Ich sah die *args und *keywordsargs, etc. und dachte, Sie waren auf verschiedene Argumente übergeben.
  • toxotes die Antwort ist, was Sie wollen, es hat nur einen großen Fehler (siehe meinen Kommentar dazu).
InformationsquelleAutor chase | 2013-03-20
Schreibe einen Kommentar