Bestellung von Standard-und nicht-Standard-Argumente

In Python, ich verstehe, dass die Standard-Argumente kommen am Ende, und dass nicht-Standard-Argumenten nicht Folgen können, ein Standard-argument. Das ist in Ordnung. Wie zum Beispiel:

>>> def foo(x=0, y):
        return x, y
SyntaxError: non-default argument follows default argument

Ist OK, wie erwartet.

Jedoch, was der Fall ist, wenn ich will, dass die erste argument sollte die default -? Wie zum Beispiel, wie sich aus dem obigen code x werden die ersten argument und es sollte einen Standardwert von 0.

Ist es möglich, dies zu tun? Ich Frage, weil auch in der range - Funktion, ich vermute, es ist so etwas wie dieses:

def range(start=0, end):
    pass

Also wie wird das gemacht und wenn es nicht möglich ist, wie wird dies implementiert, indem range? Beachten Sie, dass ich darauf bestanden habe, auf das erste argument auf Standard, das ist der ganze Punkt. Ich bin mit range als ein Beispiel, weil es passt mein problem perfekt. Natürlich könnte man implementieren range als def range(end, start=0)aber das ist nicht der Punkt.

InformationsquelleAutor der Frage user225312 | 2010-11-09

Schreibe einen Kommentar