Python Number Data Type: A Comprehensive Guide
In Python, numbers represent numerical data types that can be used for mathematical operations. Numbers are immutable data types, which means that their values cannot be changed once created.
Numbers in python refers to the numeric values used in Python programming. It includes integers, floating-point numbers, and complex numbers. Python provides built-in functions to perform basic operations and type conversions on numbers, as well as convert them to different number systems.
Three Types of Numbers in Python
As we mentioned earlier, Python has support for three different types of numbers:
Integers
Floating-point numbers
Complex numbers
In the next sections, we'll discuss each of these types of numbers in detail.
💡 Complete Python Roadmap for beginners and experts.
Integers in Python
Integers are whole numbers, positive or negative, without a decimal point. In Python, integers have unlimited precision, which means that they can be as large or as small as necessary.
Basic Operations with Integers
Python provides support for several basic arithmetic operations with integers, including addition, subtraction, multiplication, and division. Here's an example:
a = 10
b = 5
print(a + b) # Output: 15
print(a - b) # Output: 5
print(a * b) # Output: 50
print(a / b) # Output: 2.0
Type Conversion for Integers
Python allows you to convert integers to other types of numbers. For example, you can convert an integer to a floating-point number using the float()
function. Here's an example:
a = 10
b = float(a)
print(b) # Output: 10.0
Floating-Point Numbers in Python
Floating-point numbers, also known as floats, are numbers with a decimal point. In Python, floating-point numbers are represented using the float
data type.
Basic Operations with Floating Point Numbers
Python provides support for several basic arithmetic operations with floating-point numbers, including addition, subtraction, multiplication, and division. Here's an example:
a = 3.14
b = 2.0
print(a + b) # Output: 5.14
print(a - b) # Output: 1.14
print(a * b) # Output: 6.28
print(a / b) # Output: 1.57
Type Conversion for Floating Point Numbers
Python allows you to convert floating-point numbers to other types of numbers. For example, you can convert a floating-point number to an integer using the int()
function. Here's an example:
a = 3.14
b = int(a)
print(b) # Output: 3
Complex Numbers in Python
Complex numbers are numbers that have both real and imaginary parts. In Python, complex numbers are represented using the complex
data type.
Basic Operations with Complex Numbers
Python provides support for several basic arithmetic operations with complex numbers, including addition, subtraction, multiplication, and division. Here's an example:
a = 2 + 3j
b = 1 + 2j
print(a + b) # Output: (3+5j)
print(a - b) # Output: (1+1j)
print(a * b) # Output: (-4+7j)
print(a / b) # Output: (1.6-0.2j)
Type Conversion for Complex Numbers
Python allows you to convert complex numbers to other types of numbers. For example, you can convert a complex number to a floating-point number using the float()
function. Here's an example:
a = 2 + 3j
b = float(a)
print(b) # Output: TypeError: can't convert complex to float
Since complex numbers cannot be converted to a floating-point number directly, you need to convert the real or imaginary part of the complex number first.
Basic Operations with Numbers
Python provides support for several basic arithmetic operations with numbers. Here's a summary of the basic operations:
Operator | Description |
+ | Addition |
- | Subtraction |
* | Multiplication |
/ | Division |
% | Modulus (returns the remainder of a division) |
// | Floor division (returns the quotient of a division, rounded down to the nearest integer) |
** | Exponentiation |
Here's an example:
a = 10
b = 3
print(a + b) # Output: 13
print(a - b) # Output: 7
print(a * b) # Output: 30
print(a / b) # Output: 3.3333333333333335
print(a % b) # Output: 1
print(a // b) # Output: 3
print(a ** b) # Output: 1000
Python Number to Binary and Other Conversions
Python provides built-in functions to convert numbers to binary and other number systems like decimal and hexadecimal. Let's discuss these functions in detail:
Binary to Decimal Conversion
To convert a binary number to a decimal number, you can use the int()
function. The int() function takes two arguments, the first argument is the binary number, and the second argument is the base of the number system.
Since we want to convert a binary number to a decimal number, the base would be 2.
binary_number = "1101"
decimal_number = int(binary_number, 2)
print(decimal_number) # Output: 13
In the above example, we converted the binary number "1101" to a decimal number 13.
Decimal to Binary Conversion
To convert a decimal number to a binary number, you can use the bin()
function. The bin() function takes a decimal number as an argument and returns a binary number in string format.
decimal_number = 13
binary_number = bin(decimal_number)
print(binary_number) # Output: 0b1101
In the above example, we converted the decimal number 13 to a binary number "1101".
Hexadecimal to Decimal Conversion
To convert a hexadecimal number to a decimal number, you can use the int()
function. The int() function takes two arguments, the first argument is the hexadecimal number, and the second argument is the base of the number system.
Since we want to convert a hexadecimal number to a decimal number, the base would be 16.
hexadecimal_number = "1A"
decimal_number = int(hexadecimal_number, 16)
print(decimal_number) # Output: 26
In the above example, we converted the hexadecimal number "1A" to a decimal number 26.
Decimal to Hexadecimal Conversion
To convert a decimal number to a hexadecimal number, you can use the hex()
function. The hex() function takes a decimal number as an argument and returns a hexadecimal number in string format.
decimal_number = 26
hexadecimal_number = hex(decimal_number)
print(hexadecimal_number) # Output: 0x1a
In the above example, we converted the decimal number 26 to a hexadecimal number "1a".
Decimal to Octal Conversion
To convert a decimal number to an octal number, you can use the oct()
function. The oct() function takes a decimal number as an argument and returns an octal number in string format.
decimal_number = 9
octal_number = oct(decimal_number)
print(octal_number) # Output: 0o11
In the above example, we converted the decimal number 9 to an octal number "11".
Octal to Decimal Conversion
To convert an octal number to a decimal number, you can use the int()
function. The int() function takes two arguments, the first argument is the octal number, and the second argument is the base of the number system.
Since we want to convert an octal number to a decimal number, the base would be 8.
octal_number = "11"
decimal_number = int(octal_number, 8)
print(decimal_number) # Output: 9
In the above example, we converted the octal number "11" to a decimal number 9.
Decimal to Base 36 Conversion
To convert a decimal number to a base 36 number, you can use the base_repr()
function. The base_repr() function takes two arguments, the first argument is the decimal number, and the second argument is the base of the number system.
Since we want to convert a decimal number to a base 36 number, the base would be 36.
decimal_number = 12345
base36_number = base_repr(decimal_number, 36)
print(base36_number) # Output: 9IX
In the above example, we converted the decimal number 12345 to a base 36 number "9IX".
These are some of the other number conversions you can perform using built-in functions in Python. By utilizing these functions, you can easily convert numbers to various number systems and perform different mathematical operations on them.
FAQ
Is number an immutable data type in Python?
Yes, numbers are immutable data types in Python, which means that once a number is created, it cannot be changed.
How do you divide numbers in Python?
To divide two numbers in Python, you can use the /
operator. If you want to perform floor division, you can use the //
operator.
Converting Numbers to Words
You can convert a number to words using the num2words library. Here's an example:
pip install num2words
from num2words import num2
a = 123
b = num2words(a)
print(b) # Output: one hundred and twenty-three
String to Integer Conversion
Python also provides support for converting strings to integers. Here's an example:
a = "10"
b = int(a)
print(b) # Output: 10
Note that if the string contains non-numeric characters, a ValueError
exception is raised.
Declaring Numbers in Python
Declaring numbers in Python is easy. You can assign a number to a variable like this:
x = 10
y = 3.14
z = 2 + 3j
In this example, we assigned the integer 10 to the variable x
, the floating-point number 3.14 to the variable y
, and the complex number (2+3j) to the variable z
. Python automatically assigns the appropriate data type based on the value assigned to the variable.
In summary, with a solid understanding of the Python number data type, you can start building more complex programs that involve numerical computations.
You can also explore these fundamental python topics: