파이썬 문자열은 불변입니다.

skyepodium·2021년 8월 7일
1

a = "abc"
a[1] = "b" 를 수행해본적이 있으신가요? 안됩니다.

1. 불변객체

파이썬의 객체는 가변, 불변으로 나뉘는데

문자열을 불변입니다.

말 그대로 값을 바꿀 수 없습니다.

2. 바꾸는거 되는데요?

다른값으로 할당은 가능한데, 할당된 값을 바꾸는 것이 안됩니다.

# 1. 초기할당
a = "abc"

# 2. 재할당
a = "bcd"

# 3. 값 변경 -> 에러
a[1] = "b"

3. 그럼 문자열 어떻게 바꾸는데요

어쩔 수 없습니다. 재할당할 수 밖에

a = "abc"

# 슬라이싱과 섞어서 첫번째 문자의 값을 b로 바꾸고 재할당합니다.
a = 'b' + a[1:]

4. 언어별 변환

알아요 나도 인덱스로 값바꾸는게 편한다는거

정리하고 보니, c, c++만 가변이네요...

1) c++

string a = "abc";

a[1] = 'b';

2) java

자바도 문자열은 불변

String a = "abc";

a = "b" + a.substring(1, a.length());

3) JavaScript

자바스크립트도 문자열 불변

let a = "abc"

a = 'b' + a.substring(1, a.length)

4) python

a = "abc"

a = "b" + a[1:]
profile
callmeskye

0개의 댓글