Tutorials Logic, IN +91 8092939553 info@tutorialslogic.com
FAQs Support
Navigation
Home About Us Contact Us Blogs FAQs
Tutorials
All Tutorials
Services
Academic Projects Resume Writing Interview Questions Website Development
Compiler Tutorials

Type Conversion in Python

What is Type Conversion?

Type conversion (also called type casting) is the process of converting a value from one data type to another. Python supports two kinds: implicit and explicit.

Implicit Type Conversion

Python automatically converts types when it's safe to do so — no data is lost. This usually happens when mixing int and float.

Implicit Conversion
x = 5       # int
y = 2.5     # float

result = x + y
print(result)        # 7.5
print(type(result))  # <class 'float'>  — Python promoted int to float

# bool is a subclass of int
print(True + 1)   # 2
print(False + 5)  # 5
print(True * 10)  # 10

Explicit Type Conversion (Type Casting)

You manually convert using built-in functions. This is called explicit conversion or type casting.

FunctionConverts ToExample
int(x)Integerint("42") → 42
float(x)Floatfloat("3.14") → 3.14
str(x)Stringstr(100) → "100"
bool(x)Booleanbool(0) → False
list(x)Listlist("abc") → ['a','b','c']
tuple(x)Tupletuple([1,2,3]) → (1,2,3)
set(x)Setset([1,2,2,3]) → {1,2,3}
dict(x)Dictionarydict(a=1, b=2)
complex(r, i)Complexcomplex(2, 3) → (2+3j)
ord(c)Integer (Unicode)ord('A') → 65
chr(n)Characterchr(65) → 'A'
hex(n)Hex stringhex(255) → '0xff'
oct(n)Octal stringoct(8) → '0o10'
bin(n)Binary stringbin(10) → '0b1010'
Explicit Conversion Examples
# int conversions
print(int(3.9))     # 3  (truncates, doesn't round)
print(int("42"))    # 42
print(int("0b1010", 2))  # 10 (binary string to int)
print(int("0xFF", 16))   # 255 (hex string to int)

# float conversions
print(float(5))     # 5.0
print(float("3.14")) # 3.14

# str conversions
print(str(100))     # "100"
print(str(3.14))    # "3.14"
print(str(True))    # "True"

# bool — falsy values
print(bool(0))      # False
print(bool(""))     # False
print(bool([]))     # False
print(bool(None))   # False
print(bool(1))      # True
print(bool("hi"))   # True

# list / tuple / set
print(list("Python"))       # ['P', 'y', 't', 'h', 'o', 'n']
print(tuple([1, 2, 3]))     # (1, 2, 3)
print(set([1, 2, 2, 3, 3])) # {1, 2, 3}

# ord and chr
print(ord('A'))   # 65
print(chr(65))    # 'A'
print(ord('a'))   # 97

Common Conversion Pitfalls

Pitfalls & Error Handling
# int() truncates, doesn't round
print(int(9.9))   # 9 (not 10!)
print(int(-3.7))  # -3 (not -4!)

# Use round() if you need rounding
print(round(9.9))   # 10
print(round(3.567, 2))  # 3.57

# ValueError — invalid conversion
try:
    x = int("hello")
except ValueError as e:
    print(f"Error: {e}")  # invalid literal for int()

# Safe conversion pattern
def safe_int(value, default=0):
    try:
        return int(value)
    except (ValueError, TypeError):
        return default

print(safe_int("42"))      # 42
print(safe_int("abc"))     # 0
print(safe_int(None))      # 0

# User input is always a string — always convert!
age_str = input("Enter age: ")  # returns str
age = int(age_str)              # convert to int

Ready to Level Up Your Skills?

Explore 500+ free tutorials across 20+ languages and frameworks.