9강_Q4 & Q5 객체 Aliasing 도저히 이해가 안가서 글 남깁니다.
Q4와 Q5가 card=Card() 위치에 따라 어떤식으로 논리가 구성되는지 모르겠습니다.
이해를 하고자, 테스트로... Q5에 대하여 아래와 같이 작성해 보았는데 결과가 너무 이상합니다.
>>>class Card(object):
pass
>>>cards=[]
>>>card=Card()
>>>for i in range(4):
card.value=i
cards.append(card)
아래와 같이 print 해보니 모두 3으로 나오네요... 왜 그런 걸까요?
print(cards[0].value)
print(cards[1].value),
print(cards[2].value),
print(cards[3].value)
----------------------------------
추가로 Q7의 경우, player.clear()가 정답인데... 그럴 것 같긴 한데...
self.player.clear()가 정답이 아닌 이유에 대해서 논리적으로 설명을 할려니 잘 안되네요...
혹시 설명 가능하신 분 있으면 부탁드립니다.
comment