다른 이름을 가진 기본 클래스의 메서드를 재정의하는 방법의 예를 보았습니다. how 및 이 가능한 이유는 무엇입니까? 아마도 어떤 용도로 사용할 수 있을까요?_ <parent_class><__ method_name> 패턴이 부모 <__ method_name>을 (를) 재정의합니다. 이유가 무엇입니까?
>>> class A(object):
... def foo(self):
... self.__bar()
... def __bar(self):
... print "original"
...
>>> class B(A):
... def _A__bar(self):
... print "overridden"
...
>>> B().foo()
overridden
[파이썬 이름 맹 글링] 결과 (http://docs.python.org/reference/ expressions.html # atom-identifiers). – brandizzi
@MartijnPieters : 나는 복제본에 동의하지 않습니다. 행동의 원인은 맹 글링 (mangling)의 이름이지만 문제는 다릅니다. – MattH
@MattH : 답은 대략 동일합니다. 원인은 동일합니다. 미묘하게 다른 100 개의 질문과 답변을함으로써 우리는 너무 희석되어 사람들이 이미 그 답을 찾기가 더 어려워지고 있습니다. –