# sys.maxint in Python

In programming,** maxint/INT_MAX **denotes the highest value that can be represented by an integer. In some cases, while programming, we may need to assign a value that is larger than any other integer value. Normally one assigns such values manually. For example, consider a list of integers where the minimum value has to be found out using a **for loop**.

## Python

`# initializing the list` `li ` `=` `[` `1` `, ` `-` `22` `, ` `43` `, ` `89` `, ` `2` `, ` `6` `, ` `3` `, ` `16` `]` ` ` `# assigning a larger value manually` `curr_min ` `=` `999999` ` ` `# loop to find minimum value` `for` `i ` `in` `range` `(` `0` `, ` `len` `(li)):` ` ` ` ` `# update curr_min if a value lesser than it is found` ` ` `if` `li[i] < curr_min:` ` ` `curr_min ` `=` `li[i]` ` ` `print` `(` `"The minimum value is "` `+` `str` `(curr_min))` |

**Output**

The minimum value is -22

In the approach above we assume that **999999 **is the maximum possible value in our list and compare it with other elements to update when a value lesser than it is found.

### sys module in Python

This module is used to interact with the interpreter and to access the variables maintained by the interpreter. It can be used to carry out manipulations in the runtime environment. This has to be imported like other packages to utilize the functionalities in it. Python’s **sys module** provides a variety of functions and constants among which the constant **maxint**, which can be used to set a positive integer value which is guaranteed to be larger than any other integer. Look at the example below.

## Python

`# import the module` `import` `sys` ` ` `# initializing the list` `li ` `=` `[` `1` `, ` `-` `22` `, ` `43` `, ` `89` `, ` `2` `, ` `6` `, ` `3` `, ` `16` `]` ` ` `# assigning a larger value with ` `# maxint constant` `curr_min ` `=` `sys.maxint` ` ` `# loop to find minimum value` `for` `i ` `in` `range` `(` `0` `, ` `len` `(li)):` ` ` ` ` `# update curr_min if a value lesser ` ` ` `# than it is found` ` ` `if` `li[i] < curr_min:` ` ` `curr_min ` `=` `li[i]` ` ` `print` `(` `"The minimum value is "` `+` `str` `(curr_min))` |

**Output**

The minimum value is -22

In the program above, instead of assigning a larger value manually, **sys.maxint **is used. This constant is supported in Python version 2.x. The value denoted by the constant can be calculated as :

maxint = 2

^{31}– 1 (in 32-bit environment)maxint = 2

^{63}– 1 (in 64-bit environment)

In **Python 2**, adding 1 to the maxint gives the highest possible **long int **and in **Python 2.7**, subtracting 1 from maxint gives the **smallest possible value for an integer**.

## Python

`# import the module` `import` `sys` ` ` `max_int ` `=` `sys.maxint` `min_int ` `=` `sys.maxint` `-` `1` `long_int ` `=` `sys.maxint` `+` `1` ` ` `print` `(` `"maxint :"` `+` `str` `(max_int)` `+` `" - "` `+` `str` `(` `type` `(max_int)))` `print` `(` `"maxint - 1 :"` `+` `str` `(max_int)` `+` `" - "` `+` `str` `(` `type` `(min_int)))` `print` `(` `"maxint + 1 :"` `+` `str` `(max_int)` `+` `" - "` `+` `str` `(` `type` `(long_int)))` |

**Output**

maxint :9223372036854775807 - <type 'int'> maxint - 1 :9223372036854775807 - <type 'int'> maxint + 1 :9223372036854775807 - <type 'long'>

This constant was removed from **Python 3**, as integers in this version are considered to be of arbitrary length. If you use this constant in Python 3, then you will get the following error. Consider the same example where the minimum value element has to be found out from a list.

## Python3

`import` `sys` ` ` `# initializing the list` `li ` `=` `[` `1` `, ` `-` `22` `, ` `43` `, ` `89` `, ` `2` `, ` `6` `, ` `3` `, ` `16` `]` ` ` `# assigning a larger value with maxint constant` `curr_min ` `=` `sys.maxint` ` ` `# loop to find minimum value` `for` `i ` `in` `range` `(` `0` `, ` `len` `(li)):` ` ` ` ` `# update curr_min if a value lesser than it is found` ` ` `if` `li[i] < curr_min:` ` ` `curr_min ` `=` `li[i]` ` ` `print` `(` `"The minimum value is "` `+` `str` `(curr_min))` |

**Output :**

AttributeError: module 'sys' has no attribute 'maxint'

This constant was removed as there was no longer a limit for to the value of integers. In **Python 3, **a constant similar to this was introduced which is **sys.maxsize**. This returns the highest possible integer value of variable type **Py_ssize_t** and also, it denotes the pointer size of the platform. This maxsize is considered to limit the size of various data structures like Strings and lists. Another thing to be noted is, in Python 3 the **int **and **long int **are merged into one. Look at the example below for better understanding.

## Python3

`# import the module` `import` `sys` ` ` `# using sys.maxsize` `max_int ` `=` `sys.maxsize` `min_int ` `=` `sys.maxsize` `-` `1` `long_int ` `=` `sys.maxsize` `+` `1` ` ` `print` `(` `"maxint :"` `+` `str` `(max_int)` `+` `" - "` `+` `str` `(` `type` `(max_int)))` `print` `(` `"maxint - 1 :"` `+` `str` `(max_int)` `+` `" - "` `+` `str` `(` `type` `(min_int)))` ` ` `# the data type is represented as int` `print` `(` `"maxint + 1 :"` `+` `str` `(max_int)` `+` `" - "` `+` `str` `(` `type` `(long_int)))` |

**Output**

maxint :9223372036854775807 - <class 'int'> maxint - 1 :9223372036854775807 - <class 'int'> maxint + 1 :9223372036854775807 - <class 'int'>

Attention geek! Strengthen your foundations with the **Python Programming Foundation** Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the **Python DS** Course. And to begin with your Machine Learning Journey, join the **Machine Learning – Basic Level Course**