: 21 개 문자보다 짧은CPython의 문자열 - 메모리 할당
>>> a = 's' ; b = 's'
>>> id(a), id(b)
(4322870976, 4322870976)
문자열 같은 메모리 주소를 공유 할 것 (또는 id).
>>> a = 's' * 20 ; b = 's' * 20
>>> id(a), id(b)
(4324218680, 4324218680)
21에서이 동작이 변경됩니다.
>>> a = 's' * 21 ; b = 's' * 21
>>> id(a), id(b)
(4324218536, 4324218608)
내가
python docs 따라 합리적인 설명을 찾을 수 없습니다, 그러나 :
예를 들면, 후 = 1; B = 1, A와 B 또는이 결정이된다, 내가 찾을 수 없습니다 cpython's code 찾고 후 ... 구현에 따라, 값 하나와 같은 객체를
을 참조하지 않을 수 있습니다.
20 세 이상의 이유는 무엇입니까? –
찾을 수 없습니다. –