11강 질문입니다.
, kang jisu님이 작성안녕하세요. 파이썬 코딩 도장책을 공부하던 도중, 질의가 생겨 질문올립니다.
11장에 range, str, tuple 객체는 값 할당을 지원하지 않는다고 되어 있는데, 왜 그런가요?
Re: 11강 질문입니다.
, 도장_ 관리자님이 작성튜플은 만든 상태 그대로 유지되는 읽기 전용 자료형입니다.
값의 변경이 필요하다면 리스트를 사용하면 됩니다. 용도에 맞게 골라서 사용하세요. 값의 변경이 필요하다면 리스트, 필요 없다면 튜플.
range 객체는 범위를 생성하는 객체이므로 객체에 값을 할당할 수 없습니다.
문자열도 슬라이브 범위를 지정한 경우 요소를 할당할 수 없습니다. 파이썬에서 문자열은 불변(immutable)이기 때문에 치환하는 방식으로는 수정할 수 없습니다.
s = 'hello'
s = 'world'
둘 다 동작하는 것처럼 보이지만, 새로운 문자열 객체를 만들어서 s에 지정하는 것이지 실제 문자열 객체를 치환하는 것이 아닙니다.
따라서 슬라이스 연산으로 추출한 문자열에 다른 문자열을 치환하는 것은 동작하지 않습니다.