Frage

Nehmen Sie diesen Code:

>>> import urlparse
>>> parts = urlparse.urlparse('http://docs.python.org/library/')
>>> parts = parts._replace(path='/3.0'+parts.path)

parts._replace works Aber da es sich um eine unterstrichene Methode handelt, soll es intern und nicht verwendet werden. Gibt es eine Alternative? Ich möchte nicht:

>>> parts = parts[:2] + ('/3.0'+parts.path,) + parts[3:]

Denn das macht es zu einem gewöhnlichen Tupel und nicht zu einem benannten Tupel und tut:

>>> parts = namedtuple(scheme=parts.scheme, netloc=parts.netloc, etc etc)

ist irgendwie dumm. :)

Ideen?

War es hilfreich?

Lösung

Die Grundmethoden von namedtuple Beginnen Sie mit einem anfänglichen Unterstrich müssen nur Namenskollisionen verhindern. Sie sollte nicht nur für den internen Gebrauch betrachtet werden:

Um Konflikte mit Feldnamen zu verhindern, beginnen die Methode und die Attributnamen mit einem Unterstrich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top