Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 변경할 수 없는 문자열의 ID를 어떻게 변경할 수 있습니까?

<시간/>

Python의 문자열은 변경할 수 없습니다. 즉, 문자열이 생성되면 변경할 수 없습니다. 문자열을 생성하고 동일한 문자열을 생성하여 다른 변수에 할당하면 둘 다 동일한 문자열/메모리를 가리키게 됩니다. 예를 들어,

>>> a = 'hi'
>>> b = 'hi'
>>> id(a)
43706848L
>>> id(b)
43706848L

이렇게 문자열 객체를 재사용하는 것을 파이썬에서는 인턴이라고 합니다. 동일한 문자열은 동일한 ID를 갖습니다. 그러나 Python은 문자열을 인턴으로 보장하지 않습니다. 코드 개체 상수가 아니거나 문자 + 숫자 + 밑줄 범위를 벗어난 문자를 포함하는 문자열을 생성하면 id() 값이 재사용되지 않는 것을 볼 수 있습니다.

주어진 문자열의 id를 다음과 같이 변경합니다. 두 개의 다른 식별자에 할당합니다. 발견 시 이러한 변수의 ID가 다릅니다. 지정된 문자열에 알파벳, 숫자, 밑줄 이외의 문자가 포함되어 있기 때문입니다.

>>> a = 'weworks_45#@$'
>>> b = 'weworks_45#@$'
>>> id(a)
96226208L
>>> id(b)
91720800L