namedtuples _replaceへのよりよい選択肢とは何ですか?
-
19-09-2019 - |
質問
このコードを取ります:
>>> 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:]
それはそれを普通のタプル、およびないnamedtupleを行っているため、とやってます:
>>> parts = namedtuple(scheme=parts.scheme, netloc=parts.netloc, etc etc)
ちょっと愚かです。 :)
アイデア?
解決
namedtuple
の方法は、最初のアンダースコアで始まる理由は、名前の衝突を防ぐためだけです。彼らは、はの内部使用のためであることを考えるべきではない。
フィールド名との競合を防ぐために、方法および属性名は、アンダースコアで始まります。
所属していません StackOverflow