이름이 지명 된 _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:]
그것은 그것을 지명 된 튜플이 아닌 평범한 튜플이기 때문에 :
>>> parts = namedtuple(scheme=parts.scheme, netloc=parts.netloc, etc etc)
좀 멍청 해요. :)
아이디어?
해결책
이유의 이유 namedtuple
초기 밑줄로 시작하는 것은 이름 충돌을 방지하기위한 것입니다. 그들 내부 사용 만 고려해서는 안됩니다.:
필드 이름과의 충돌을 방지하기 위해 메소드 및 속성 이름은 밑줄로 시작합니다.
제휴하지 않습니다 StackOverflow