class trial(object):
def __init__(self):
sup = ''
sup = self
print sup
trial_1 = trial()
할당 작업 self.var = var
은 의미가 있지만 왼쪽에 변수를 할당합니다. self
- (a) 이것은 무엇을 의미합니까? 게다가 (b) 왜 어떤 프로그램이 이것을할까요?variable = self는 무엇을 의미합니까?
class trial(object):
def __init__(self):
sup = ''
sup = self
print sup
trial_1 = trial()
할당 작업 self.var = var
은 의미가 있지만 왼쪽에 변수를 할당합니다. self
- (a) 이것은 무엇을 의미합니까? 게다가 (b) 왜 어떤 프로그램이 이것을할까요?variable = self는 무엇을 의미합니까?
sup
은 현재 self
에 대한 또 다른 참조 일뿐입니다. 두 이름 모두 동일한 개체을 참조하십시오.
이유는 여러 가지가있을 수 있지만 더 많은 상황이 필요합니다.
나중에 이름을 리 바인드하려고하지만 시작점으로 self
이 필요하면 할당이 적절할 수 있습니다. 알고리즘이 같은 변수 이름에 자식 노드를 self
에서 시작하고, 루프에서 반복적으로 할당 마음에 그래프 탐색 스프링 :
sup = self
while sup.has_children():
sup = sup.get_first_child()
나는 sup
보다 더 좋은 이름을 선택 것 제외.
다른 할당과 마찬가지로 self
개체를 가리키는 다른 이름을 만듭니다.
왜 그런지는 좋은 질문입니다. 실제로 아무런 도움이되지 않습니다.
@WLin 왜 그런 변수를 다른 변수에 할당해야합니까? 곧바로'self'를 사용할 수 있습니다. – thefourtheye
동의. 나는 무관 한 무언가를 생각하고 있었다. 이전 코멘트를 삭제했습니다. – WLin