maxsize attribute of the sys module fetches the largest value a variable of data type Py_ssize_t can store. It is the Python platform’s pointer that dictates the maximum size of lists and strings in Python. The size value returned by maxsize depends on the platform architecture:
- 32-bit: the value will be 2^31 – 1, i.e. 2147483647
- 64-bit: the value will be 2^63 – 1, i.e. 9223372036854775807
sys.maxsize
Syntax: sys.maxsize
Returns: maximum value of Py_ssize_t depending upon the architecture
Example 1: Let us fetch the maximum Py_ssize_t value on a 64-bit system.
Python3
# importing the module import sys # fetching the maximum value max_val = sys.maxsize print (max_val) |
Output:
9223372036854775807
Example 2: Creating a list with the maximum size.
Python3
# importing the module import sys # fetching the maximum value max_val = sys.maxsize # creating list with max size list = range (max_val) # displaying the length of the list print ( len ( list )) print ( "List successfully created" ) |
9223372036854775807 List successfully created
Output:
9223372036854775807 List successfully created
Example 3: Trying to create a list with a size greater than the maximum size.
Python3
# importing the module import sys # fetching the maximum value max_val = sys.maxsize try : # creating list with max size + 1 list = range (max_val + 1 ) # displaying the length of the list print ( len ( list )) print ( "List successfully created" ) except Exception as e: # displaying the exception print (e) print ( "List creation unsuccessful" ) |
Python int too large to convert to C ssize_t List creation unsuccessful
Output:
Python int too large to convert to C ssize_t List creation unsuccessful