>백엔드 개발 >파이썬 튜토리얼 >Python의 불변 데이터 유형은 무엇입니까?

Python의 불변 데이터 유형은 무엇입니까?

anonymity
anonymity원래의
2019-06-11 11:16:2918420검색

파이썬에서 불변 데이터 유형은 무엇인가요?

Python의 불변 데이터 유형은 무엇입니까?

Python에는 정수, 문자열, 튜플이라는 세 가지 불변 데이터 유형이 있습니다.

정수형

a = 1
print(id(a),type(a))
a = 2
print(id(a),type(a))
1912499232 <class &#39;int&#39;>
1912499264 <class &#39;int&#39;>

데이터가 변경되면 변수의 메모리 주소도 변경되고 정수형은 불변 데이터형이라는 것을 알 수 있습니다.

String

b = &#39;djx&#39;
print(id(b),type(b))
b = &#39;djx1996&#39;
print(id(b),type(b))
535056476344 <class &#39;str&#39;>
535056476624 <class &#39;str&#39;>

데이터가 변경되면 변수의 메모리 주소도 변경되고 문자열은 불변 데이터 유형이라는 것을 알 수 있습니다.

Tuples

튜플은 읽기 전용 목록이라고 합니다. 즉, 데이터를 쿼리할 수 있지만 수정할 수는 없지만 튜플 요소에 목록을 저장하고 값을 변경하여 튜플을 볼 수 있습니다. 목록은 변경 가능합니까, 불변입니까?

c1 = [&#39;1&#39;,&#39;2&#39;]
c = (1,2,c1)
print(c,id(c),type(c))
c1[1] = &#39;djx&#39;
print(c,id(c),type(c))
result:
(1, 2, [&#39;1&#39;, &#39;2&#39;]) 386030735432 <class &#39;tuple&#39;>
(1, 2, [&#39;1&#39;, &#39;djx&#39;]) 386030735432 <class &#39;tuple&#39;>

튜플 데이터가 변경되었음에도 메모리 주소는 변경되지 않았음을 알 수 있지만 이를 사용하여 튜플이 가변 데이터 유형인지 판단할 수는 없습니다. 되돌아보고 주의 깊게 생각해 보면 튜플의 정의는 불변입니다. 튜플에서 리스트의 값을 수정했는데, 리스트가 가변 데이터형이기 때문에 리스트에서 값이 바뀌어도 리스트의 주소는 변하지 않았고, 리스트의 주소값은 튜플에서 그대로 유지되었습니다. 튜플이 변경되지 않았으므로 이는 튜플이 변경되지 않았음을 의미합니다. 튜플은 불변이기 때문에 불변 데이터 유형으로 생각할 수 있습니다.

위 내용은 Python의 불변 데이터 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.