Type Conversion Functions
Type Conversion Functions in Python π
Type conversion (or type casting) transforms data from one type to another. Python provides built-in functions for these conversions. Here’s a comprehensive guide with examples:
1. int(x) π’
Converts x to an integer.
Python
print(int(3.14)) # 3 (float β int)
print(int("42")) # 42 (str β int)
print(int(True)) # 1 (bool β int)
print(int("1010", 2)) # 10 (binary str β int)
# print(int("Hello")) # β ValueError (non-numeric string)
2. float(x) afloat
Converts x to a floating-point number.
Python
print(float(42)) # 42.0 (int β float)
print(float("3.14")) # 3.14 (str β float)
print(float(False)) # 0.0 (bool β float)
# print(float("1a.5")) # β ValueError (invalid string)
3. str(x) π¬
Converts x to a string. Works with any data type.
Python
print(str(100)) # '100' (int β str)
print(str(7.8e-2)) # '0.078' (float β str)
print(str([1, 2, 3])) # '[1, 2, 3]' (list β str)
print(str(True)) # 'True' (bool β str)
4. bool(x) β
β
Converts x to a Boolean (True or False).
Falsy values: 0, 0.0, “”, [], (), {}, None
Truthy values: Everything else.
Python
print(bool(0)) # False (int)
print(bool("Hello")) # True (non-empty str)
print(bool([])) # False (empty list)
print(bool(3.14)) # True (non-zero float)
5. list(x) π
Converts iterable x to a list.
Python
print(list("abc")) # ['a', 'b', 'c'] (str β list)
print(list((1, 2, 3))) # [1, 2, 3] (tuple β list)
print(list({4, 5, 6})) # [4, 5, 6] (set β list; order not guaranteed)
print(list({'a': 1})) # ['a'] (dict β list of keys)
6. tuple(x) π¦
Converts iterable x to a tuple.
Python
print(tuple([1, 2, 3])) # (1, 2, 3) (list β tuple)
print(tuple("hi")) # ('h', 'i') (str β tuple)
7. set(x) π
Converts iterable x to a set (removes duplicates).
Python
print(set([1, 2, 2, 3])) # {1, 2, 3} (list β set)
print(set("apple")) # {'a', 'p', 'l', 'e'} (str β set)
8. dict(x) πΊοΈ
Converts iterable of key-value pairs to a dictionary.
Python
print(dict([('a', 1), ('b', 2)])) # {'a': 1, 'b': 2} (list of tuples β dict)
print(dict(a=1, b=2)) # {'a': 1, 'b': 2} (keyword args β dict)
9. chr(x) & ord(x) π
°οΈβ‘οΈπ’
chr(i): Converts Unicode code pointito a character.ord(c): Converts charactercto its Unicode code point.
Python
print(chr(65)) # 'A' (int β char)
print(ord('A')) # 65 (char β int)
print(chr(128512)) # 'π' (emoji)
10. bin(x), oct(x), hex(x) π’β‘οΈπ‘
Convert integers to string representations in different bases.
Python
print(bin(42)) # '0b101010' (int β binary str)
print(oct(42)) # '0o52' (int β octal str)
print(hex(42)) # '0x2a' (int β hexadecimal str)
Implicit vs. Explicit Conversion β‘οΈ
β Implicit (Automatic) π€
Python automatically converts types during operations:
Python
result = 3 + 4.5 # int(3) β float, result=7.5 (float)
β Explicit (Manual) βοΈ
Programmer specifies the conversion:
Python
age = "25"
years_to_100 = 100 - int(age) # Explicit str β int
Key Rules & Errors π¨
- Compatibility:Python
# int("12.3") # β ValueError (float string β int) print(float("12.3")) # β 12.3 - Collections:Python
# list(123) # β TypeError (int not iterable) - Dictionary Conversion:Requires iterable of key-value pairs:Python
print(dict([('a', 1), ('b', 2)])) # β Valid # dict([1, 2, 3]) # β TypeError (not key-value pairs)
Practical Example π‘
Python
# Calculate average from user input (str β float)
scores = ["85.5", "90", "78.5"]
numeric_scores = [float(score) for score in scores] # Convert list of str to float
average = sum(numeric_scores) / len(numeric_scores)
print(f"Average: {average:.2f}") # Output: Average: 84.67
Mastering type conversions is essential for data processing and user input handling! π