Python의 흥미로운 8진 상수
Python 2.x 2.6 이전 버전에서 앞에 0이 붙는 작은 정수를 사용하면 예상치 못한 결과가 발생할 수 있습니다. . 이러한 정수는 표준 10진수 체계와 다른 숫자 기반 체계인 8진수로 해석됩니다.
8진수 표기법 설명
8진수 표기법에서 밑수는 8이 아닌 8입니다. 10. 각 숫자는 8의 거듭제곱을 나타냅니다. 예를 들어, 숫자에서 011:
따라서 011은 9와 같습니다. 십진수(8 1 = 9). 마찬가지로:
Python 3 및 8진수 상수
Python 3에서 8진수 상수에는 10진수 정수와 구별하기 위해 명시적인 접두사인 0o가 필요합니다. 따라서 Python 2.x의 011은 Python 3에서 0o11로 작성됩니다.
유형 확인
비정상적인 동작에도 불구하고 이러한 8진수 상수는 Python에서 정수로 유지됩니다.
>>> type(027) <class 'int'>
8진법의 실용성 상수
8진수 표기법은 컴퓨팅 초기에는 흔했지만 오늘날에는 거의 사용되지 않습니다. 가독성과 호환성을 위해 일반적으로 10진수 또는 16진수 표기법이 선호됩니다. 그러나 코드 동작에 대한 잠재적인 영향을 이해하려면 Python 2.x의 8진수 상수를 알고 있는 것이 중요합니다.
위 내용은 Python 2.x에서 선행 0이 때때로 예기치 않은 정수 값을 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!