개발 (Development)/┣Python [파이썬 철학] 문자열이 immutable 타입인 이유 - 반응형 1. Introduction c와 달리 자바나 파이썬에서 문자열은 immutable이다. 즉, 초기화한 뒤로 문자열을 수정할 수 없다. 불변타입을 지정하는 const같은 명령어가 없는 것도 아니고 대체 왜 이렇게 불편하게 했을까? 2. Cause 2.1 참조 횟수 string 타입은 중복 참조가 매우 많다. 다이얼로그 메세지에서 등장하는 문자열은 물론이고, 대부분의 프로그램에서 하드 코딩된 문자열은 참조만 할 뿐, 수정할 일이 없다. 2.2 스레드 보안 이건 다른 변수도 마찬가지겠지만, Shared area에 있는 변수들은 변화에 민감하다. 어떤 스레드가 함부로 값을 바꿨다가 다른 수 많은 스레드가 이상한 값을 읽을 수도 있다. 2.3 해싱 내가 생각하기로는 이쪽이 가장 큰 이유다. 수정가능한 자료형은 해시의 키 (key)로 쓸 수가 없다. 만약 해시의 키로 들어간 문자열이 수정됐다고 생각해보자. 그럼 당연히 해시 함수값이 바뀐다. 즉 원래 키에 대한 값 (value)을 찾을 수 없게 된다. 이런 이유로 파이썬에서는 리스트를 해시의 키로 넣어줄 수 없다. 리스트는 수정이 가능하기 때문이다. 반응형 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기Library of Koreandria 저작자표시 비영리 동일조건 Contents 1. Introduction 2. Cause 2.1 참조 횟수 2.2 스레드 보안 2.3 해싱 당신이 좋아할만한 콘텐츠 [파이썬 심화] 함수의 변수처럼 사용하는 법 - 일급객체 (First-class Citizen) 2022.09.12 파이썬에 in 연산자의 시간복잡도는 얼마일까? 2020.08.12 파이썬에서 파일의 동일성을 검사하는 간단한 방법 + 파일의 크기 2020.08.12 파이썬에서 int로 캐스팅한 변수는 오버플로우가 날까? 2020.08.11 댓글 0 + 이전 댓글 더보기