Python 3에서 sys.maxint는 무엇입니까?
최대 정수를 나타내는 방법을 찾으려고 노력했으며을 읽었습니다 "sys.maxint"
. 그러나 파이썬 3에서는 호출 할 때 다음을 얻습니다.
AttributeError: module 'object' has no attribute 'maxint'
더 이상 정수 값에 대한 제한이 없으므로 sys.maxint 상수가 제거되었습니다. 그러나 sys.maxsize는 실제 목록 또는 문자열 인덱스보다 큰 정수로 사용할 수 있습니다. 구현의 "자연적인"정수 크기를 따르며 일반적으로 동일한 빌드 옵션에서 동일한 플랫폼의 이전 릴리스에서 sys.maxint와 동일합니다.
http://docs.python.org/3.1/whatsnew/3.0.html#integers
다른 사람들이 지적했듯이, Python 3 int
은 최대 크기를 갖지 않지만 다른 int
값 보다 높은 것이 보장되어야 하는 경우 Infinity에 float 값을 사용할 수 있습니다 float("inf")
.
Python 3 정수에는 최대 값이 없습니다.
파이썬과 같은 방식으로 컴파일 할 때 C에서 int의 최대 크기를 결정하는 것이 목적이라면 struct 모듈을 사용하여 다음을 찾을 수 있습니다.
>>> import struct
>>> platform_c_maxint = 2 ** (struct.Struct('i').size * 8 - 1) - 1
Python 3 int 객체의 내부 구현 세부 정보가 궁금한 경우 sys.int_info
숫자 당 비트 수 및 크기 크기 정보를 확인하십시오. 정상적인 프로그램은 이것에 신경 쓰지 않아야합니다.
다른 모든 것보다 큰 숫자를 찾는 경우 :
방법 1 :
float('inf')
방법 2 :
import sys
max = sys.maxsize
당신은 모든 인접 해보다 작은 수를 찾고 있다면
방법 1 :
float('-inf')
방법 2 :
import sys
min = -sys.maxsize - 1
방법 1은 Python2와 Python3 모두에서 작동합니다. 방법 2는 Python3에서 작동합니다. Python2에서 방법 2를 시도하지 않았습니다.
Python 3의 정수 길이는 임의의 길이이므로 Python 3.0에는 더 이상 sys.maxint가 없습니다. sys.maxint 대신 sys.maxsize가 있습니다. 양의 size_t 또는 Py_ssize_t의 최대 크기
참고 URL : https://stackoverflow.com/questions/13795758/what-is-sys-maxint-in-python-3
'IT박스' 카테고리의 다른 글
Visual Studio 2010/2012/2013에서 창 레이아웃을 저장할 수 있습니까? (0) | 2020.07.07 |
---|---|
단위 테스트 란 무엇이며 어떻게 수행합니까? (0) | 2020.07.07 |
Node.js는 파일을 열 수 없습니다. (0) | 2020.07.06 |
지정되지 않은 경우 어떤 액세스 수정자가 내포됩니까? (0) | 2020.07.06 |
CSS 스프라이트를 만드는 도구? (0) | 2020.07.06 |