Python의 동적 유형
4047 단어 Python
개요
처음 파이썬 버전 3의 학습 노트
의사 일정
Python의 동적 유형
유형 선언 없음
변수 만들기
a = 3
a = 3
유형 정보
프로그램을 실행할 때의 변수 처리
앨범 모음집
공유 참조
a = 3
b = a
이게 어떻게 된 일입니까따라서 여러 변수가 동일한 객체에 대한 참조가 되는 것을 공유 데이텀이라고 합니다.
그리고 앞의 코드에 한 줄을 더해라
a = 3
b = a
a = 'spam'
이렇게 돼 있어요.변수 a는 새로 만든 문자열 대상의'spam'의 참고 값이지만 변수 b는 변하지 않고 대상 3에 대한 참고 값을 유지합니다
공유 참조 및 객체 덮어쓰기
목록은 객체를 꺾쇠 괄호 안에 배치하고 무시할 수 있는 객체입니다.
다음 예에서 L2는 쌍
[2, 3, 4]
에 대한 참조를 유지합니다.L1 = [2, 3, 4]
L2 = L1
L1 = 24
다음 예제에서는 참조로 사용할 객체의 값이 무시됩니다.# 可変性のオブジェクト
>>> L1 = [2, 3, 4]
# 同じオブジェクトへのリファレンスをもう1つ作る
>>> L2 = L1
# 要素の上書き
>>> L1[0] = 24
# L1に対応するリストに変更が加えられている
>>> L1
[24, 3, 4]
# L2にも影響が!
>>> L2
[24, 3, 4]
다음 방법으로 복제한 경우 L2는 변경되지 않으며 2개 변수는 서로 다른 메모리 영역의 상태를 나타낸다# 可変性のオブジェクト
>>> L1 = [2, 3, 4]
# L1のコピーを作る
>>> L2 = L1[:]
# 要素の上書き
>>> L1[0] = 24
# L1に対応するリストに変更が加えられている
>>> L1
[24, 3, 4]
# L2は変更されない
>>> L2
[2, 3, 4]
동등과 동일
>>> x = 42
# 42はすぐに破棄される?
>>> x = 'shrubbery'
Python에서 작은 정수나 문자 수가 적은 문자열이 캐시되어 다시 사용됩니다비교 객체의 동일성 여부에는 두 가지 유형이 있습니다.
>>> L = [1, 2, 3]
# MとLは同じオブジェクトのリファレンス
>>> M = L
# 両者が「同等」であるかの比較
>>> L == M
True
# 両者が「同一」であるかの比較
>>> L is M
True
>>> L = [1, 2, 3]
# MとLが対応するオブジェクトは別のもの
>>> M = [1, 2, 3]
# 両者の値は同じ
>>> L == M
True
# 2つのオブジェクトは同等だが同一ではない
>>> L is M
False
만약 소수치에 대해 같은 일을 진행한다면 결과는 달라질 수 있다
>>> X = 42
# 2つの42は本来、同一でないはず
>>> Y = 42
>>> X == Y
True
# キャッシュが行われるため、2つは同一になる!
>>> X is Y
True
Reference
이 문제에 관하여(Python의 동적 유형), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Tocyuki/items/5eed1021d11df1b89182텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)