파생 클래스에서 기본 클래스의 멤버를 재정의하여 해당 멤버에 액세스하면 파생 멤버가 호출되도록하는 방법? 다음 예를 고려해보십시오. __tmp
는 B
에 덮어 쓰기 및 난독 변수 이름을 사용하지 마십시오 tmp()
Python : 파생 클래스의 기본 클래스 멤버를 숨기기
class A:
__tmp = {"A" : 1,
"B" : 2}
def tmp(self):
return self.__tmp
class B(A):
__tmp = {"A" : 10,
"B" : 20}
def __init__(self):
super().__init__()
b = B()
print(b.tmp()) # Expect to print {'A': 10, 'B': 20} here
감사합니다. '난독 화 된 변수 이름'이란 정확히 무엇을 의미합니까? 이중 밑줄인가, 아니면이 예제의'tmp'인가? – Razer
속성에 두 개의 밑줄을 사용하면 이름이 뒤섞이는 원인이됩니다. 이것은 [pep-8] (http://www.python.org/dev/peps/pep-0008/)에서 자세히 설명합니다 ("밑줄 문자"로 검색). –