0
나는이 다음은왜 파이썬은 내 속성 이름을 다시 매핑합니까?
['_info', '_Boo__bingo', '_x']
왜 __bingo
이름이 변경됩니까 인쇄
class Boo(object):
def __init__(self, x):
self._x = x
self.__bingo = 3
self._info = {'x': x, 'y':42}
def __dir__(self):
return ['x']
@property
def x(self):
return self._x
@property
def z(self):
return self._x+1
def __getattr__(self, key):
return self._info[key]
b = Boo(44)
b.__dict__.keys()
파이썬
에서 실행하는 경우? 이중 밑줄 속성이 예약되어 있습니까?
* 정확하게 파이썬에게 * 수행했기 때문입니다. 이중 밑줄을 사용하는 아이디어는 어디서 얻었습니까? 이 행동에 비틀 거 렸니? 아니면 이중 밑줄이 "비공개"라는 자습서를 따르고 있습니까? –
중복으로 표시되는 데 문제가 없지만 [연결된 질문] (https://stackoverflow.com/questions/7456807/python-name-mangling)은이 질문과 관련이 있습니다. 내 질문에 답하는 [그 질문에 대한 대답] (https://stackoverflow.com/a/34903236/44330)이 있습니다. –
@ juanpa.arrivillaga 나는이 행동에 비틀 거 렸고, 왜 내 질문이 정확히 무엇인지 알고 싶었다. (귀하의 의견은 다소 오만한 것처럼 보입니다.) –