拿这段代码:
>>> import urlparse
>>> parts = urlparse.urlparse('http://docs.python.org/library/')
>>> parts = parts._replace(path='/3.0'+parts.path)
parts._replace works
但是因为它是一个强调的方法,它应该是内部的,而不是使用。还有其他选择吗?我不想这样做:
>>> parts = parts[:2] + ('/3.0'+parts.path,) + parts[3:]
因为这使它成为一个普通的元组,而不是一个名字元组,并且正在做:
>>> parts = namedtuple(scheme=parts.scheme, netloc=parts.netloc, etc etc)
有点愚蠢。 :)
想法?
答案 0 :(得分:20)
namedtuple
的方法以初始下划线开头的原因只是为了防止名称冲突。他们should not be considered to be for internal use only:
为防止与字段名称冲突,方法和属性名称以下划线开头。