작성
·
198
0
nonlocal, global 등을 혼자 공부하다가 생긴 궁금증인데요, 복합 할당 연산자와 관련해서 헷갈리는 부분이 있습니다.
리스트의 연산에서
a = a * 1 같은 경우는 a를 재할당 하여 id 값이 변화하고,
a *= 1 같은 경우는 a객체를 수정하여 id 값에 변화가 없다고 공부하였습니다.
그런데 정수형의 연산에서는
그냥 각 객체마다 고유한 id를 부여하고, 같은 값을 가리키면 같은 id값을 갖게 되는 것을 볼 수 있었습니다.
immutable과 mutable 자료형에서 왜 이런 차이가 발생하는 것인가요??
답변 1
0
파이썬 내부적으로 __add__ , __iadd__ 메소드가 동작되는데 차이가 있습니다.
아래 읽어보세요~
https://teamtreehouse.com/community/what-is-the-purpose-of-the-iadd-magic-method-since-it-works-fine-without-it