Próbowałem dowiedzieć się, jak przedstawić maksymalną liczbę całkowitą i czytałem, aby użyć "sys.maxint"
. Jednak w Pythonie 3, gdy go nazywam, otrzymuję:
AttributeError: module 'object' has no attribute 'maxint'
python
python-3.x
Ci3
źródło
źródło
Odpowiedzi:
http://docs.python.org/3.1/whatsnew/3.0.html#integers
źródło
Jak podkreślali inni, Python 3
int
nie ma maksymalnego rozmiaru, ale jeśli potrzebujesz czegoś, co gwarantuje, że będzie wyższa niż jakakolwiek innaint
wartość, możesz użyć wartości float dla Infinity, którą możesz uzyskaćfloat("inf")
.źródło
Liczba int w Pythonie 3 nie ma wartości maksymalnej.
Jeśli twoim celem jest określenie maksymalnego rozmiaru int w C po skompilowaniu w taki sam sposób jak Python, możesz użyć modułu struct, aby dowiedzieć się:
Jeśli jesteś ciekawy wewnętrznych szczegółów implementacji obiektów int w Pythonie 3, spójrz na szczegóły
sys.int_info
dotyczące liczby bitów na cyfrę i rozmiaru cyfry. Żaden normalny program nie powinien o to dbać.źródło
Jeśli szukasz liczby większej niż wszystkie inne:
Metoda 1:
Metoda 2:
Jeśli szukasz liczby mniejszej niż wszystkie inne:
Metoda 1:
Metoda 2:
Metoda 1 działa zarówno w Python2, jak i Python3. Metoda 2 działa w Python3. Nie próbowałem metody 2 w Python2.
źródło
Python 3.0 nie ma już sys.maxint, ponieważ wartości int w Pythonie 3 mają dowolną długość. Zamiast sys.maxint ma sys.maxsize; maksymalny rozmiar dodatniego rozmiaru size_t aka Py_ssize_t.
źródło
Alternatywą jest
źródło