Question

Prenez ce code:

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

parts._replace works mais comme il est une méthode underscores il est censé être interne, et non utilisé. Y at-il une alternative? Je ne veux pas faire:

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

Parce que en fait un tuple ordinaire, et non pas un namedtuple et faire:

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

est un peu stupide. :)

Idées?

Était-ce utile?

La solution

Les méthodes raison de namedtuple commencent par un trait de soulignement initial est seulement pour éviter les collisions de noms. Ils ne doivent pas être considérés comme étant à usage interne :

  

Pour éviter les conflits avec les noms des champs, la méthode et les attributs commencer par un trait de soulignement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top