Python Int
Introduction
# Example, Python int data type
int_a = 5
int_b = 2
type(int_a)
Integers are whole numbers, which includes
 positive (1,2, ...)
 negative (1, 2, ...)
 zero (0)
In python, integer numbers are written as below.
Syntax:variable = put number here
Type
 class 'int'
Int operations
Below table specifies int operations in python.
Operation  Description  Result data type when x and y 


both int  at least one float  
x + y  sum / addition of x and y  int  float 
x  y  subtract y from x  int  float 
x * y  multiply x and y  int  float 
x / y  x divided by y  float  float 
x // y  x integer division y  int  float 
x % y  x modulo y, remainder of x / y  int  float 
x  negation of x  int  float 
+x  x  int  float 
abs(x)  absolute of x  int  float 
divmod(x, y)  pair of (x // y, x % y)  tuple of int  tuple of float 
pow(x, y)  x raised to power y  int  float 
x ** y  x raised to power y  int  float 
Integer division
It returns floored quotient of x / y. It is also called Floor division. For positive values, it is like removing decimal point and fractional part (digits after decimal point). For negative values, it is like removing decimal point, removing fractional part (digits after decimal point) and shifting result one step away from 0.
Result is always floored in integer division.
# Example, integer division
a = 20
b = 3
c = a // b # assign 6
a = 20
b = 3
c = a // b # assign 7
Int divided by int
It returns float.# Example, int divided by int
a = 20
b = 3
type(a/b)
Points to consider for int divided by int and converting result to int
Say, you need int divided by int output as int.
 Now consider 81/10 and 89/10. Are you ok with result value 8 for both?
 Suppose number is negative, 81/10 and 89/10, Are you ok with result value 9 for both?
 Suppose its 91/10, Are you looking for 9 or 10?
You are discussing round (8.1 to 8, 8.9 to 9), rounding for exact middle point (8.5 to 8 or 9?), floor, ceil, etc.
# Example, int divided by int
print(81/10)
print(81//10)
print(89/10)
print(89//10)
print(81/10)
print(81//10)
print(89/10)
print(89//10)
print(91/10)
print(91//10)
Int divided by float
It returns float.Float divided by int
It returns float.Int operations with float
If operation involves int and float (i.e. mix), it returns float.Increment ++ operator, Decrement  operator
Python does not have ++ increment or  decrement operator. Use += or = (i.e short from of assignment with addition / subtraction).# Example, int increment
a1 = 2
a1 += 1 # 3
a1 = a1 + 1 # 4
a1 = 1 # 3
a1 = a1  1 # 2
Int bases
 Binary / bin / Base 2  it contains only 0, 1.
 Octal / oct / Base 8  it contains 0 to 7.
 Decimal / dec / Base 10  it contains 0 to 9.
 Hexadecimal / hex / Base 16  it contains 0 to 9, A to F / a to f.
When you create integer as binary / octal / decimal or hex, its type remain same (int). Computer will be storing data in binary only, However, when we/our program interact with computer, we generally prefer decimal number.
So, we need a facility to specify that we are passing binary / octal / hex number and not decimal. Key point to note is, with facility available to specify binary / octal / hex (0b/0B/0o/0O/0x/0X), when you try to print without specifying anything, it is generally visible as decimal.
So, we need one more facility to specify that, while printing / fetching, pls provide it in specific base. This conversion to binary / octal / hex returns as string type in python.
Binary literal
Use prefix 0b or 0B with number to create variable with binary value.
# Example, create variable with binary value of decimal 255.
int_a = 0b11111111
int_b = 0B11111111
type(int_a) # returns class 'int'
print(int_a) # prints 255
Octal literal
Use prefix 0o or 0O with number to create variable with octal value.
# Example, create variable with octal value of decimal 255.
int_a = 0o377
int_b = 0O377
type(int_a) # returns class 'int'
print(int_a) # prints 255
Decimal literal
No prefix required to create variable with decimal value.
# Example, create variable with decimal 255.
int_a = 255
type(int_a) # returns class 'int'
print(int_a) # prints 255
Hex literal
Use prefix 0x or 0X with number to create variable with hex value. Uppercase (AF) and lowercase (af) both are allowed.
# Example, create variable with hex value of decimal 255.
int_a = 0xFF
int_b = 0XFF
int_c = 0xff
int_d = 0xFf
type(int_a) # returns class 'int'
print(int_a) # prints 255