5.1 숫자 유형
숫자는 스칼라 저장 및 직접 액세스를 제공합니다. 불변 유형입니다. 즉, 숫자 값을 변경하면 새 객체가 생성됩니다. 물론 이 프로세스는 프로그래머와 사용자 모두에게 투명하며 소프트웨어 개발 방식에 영향을 미치지 않습니다. Python은 정수, 정수, 부울, 실수, 소수 부동소수, 복소수 등 여러 숫자 유형을 지원합니다.
숫자 객체를 업데이트하는 방법
실제로 객체의 원래 값을 업데이트하지 않기 때문입니다. 이는 숫자 객체가 불변 객체이기 때문입니다. Python의 객체 모델은 일반 객체 모델과 다소 다릅니다. 업데이트라고 생각하는 것은 실제로 새로운 숫자 개체를 만들고 이에 대한 참조를 얻는 것입니다.
프로그래밍을 배우는 과정에서 우리는 변수는 변수의 값을 담는 상자와 같다는 사실을 늘 배워왔습니다. Python에서 변수는 변수의 값이 들어 있는 상자를 가리키는 포인터와 비슷합니다. 불변 유형의 경우 상자의 내용을 변경할 수 없지만 포인터를 새 상자로 가리킬 수는 있습니다. 변수에 다른 숫자를 할당할 때마다 실제로는 새 객체를 생성하고 이를 변수에 할당합니다. (이는 숫자뿐만 아니라 모든 불변 유형에 해당됩니다.)
anInt += 1
aFloat = 2.718281828
숫자 개체를 삭제하는 방법
Python의 규칙에 따르면 숫자 개체는 실제로 삭제할 수 없으며 더 이상 사용하지 않을 뿐입니다.
실제로 숫자 개체에 대한 참조를 삭제하려면 del 문을 사용하세요(섹션 3.5.6 참조). 개체
에 대한 참조를 삭제한 후에는 새 값을 할당하지 않는 한 더 이상 참조(변수 이름)를 사용할 수 없습니다.
에 의해 삭제된 객체 참조를 사용하려고 하면 NameError 예외가 발생합니다.
del anInt
del aLong, aFloat, aComplex
5.3 배정밀도 부동 소수점 수
파이썬의 부동 소수점 수는 C 언어의 double 유형과 유사합니다. 배정밀도 부동 소수점 숫자이며 십진수 또는 과학적 표기법으로 직접 표현하여 사용할 수 있습니다. 각 부동 소수점 수는 8바이트(64비트)를 차지하며 IEEE754 사양(52M/11E/1S)을 완전히 준수하며, 이 중 52비트는 밑수를 나타내고 11비트는 지수를 나타냅니다(표현 가능한 범위는 대략 플러스 또는 마이너스 10의 308.25승), 나머지 1비트는 기호를 나타냅니다. 꽤 좋아 보이지만 실제 정확도는 기계 아키텍처와 Python 인터프리터를 만드는 데 사용된 컴파일러에 따라 다릅니다. 부동 소수점 값에는 일반적으로 소수점과 선택적 접미사 e(대문자 또는 소문자, 과학적 표기법을 나타냄)가 있습니다. e와 지수 사이에 양수(+) 또는 음수(-)를 사용하여 지수의 부호를 표시할 수 있습니다(양수인 경우 부호는 생략 가능). 다음은 부동 소수점 값의 몇 가지 예입니다.
5.4 복수형
다음은 Python 언어의 복수형과 관련된 몇 가지 개념입니다.