Python casting converts a value from one data type to another using constructor functions like int(), float(), str(), and bool(). Because input() and environment variables always arrive as strings, explicit casting is an everyday task in Python scripts.
Python performs very few implicit conversions automatically. Writing explicit casts makes your intent clear and avoids unexpected type mismatches.
int(), float(), and str()int() parses whole number strings or truncates floats toward zero. float() accepts integer values or decimal strings, and str() turns almost any object into text.
raw_qty = "12"
raw_discount = "4.5"
quantity = int(raw_qty) # 12
discount = float(raw_discount) # 4.5
truncated = int(9.87) # 9 (drops decimal, does not round)
summary = "Qty: " + str(quantity)
print(quantity, discount, truncated, summary)
bool()Passing any object to bool() evaluates whether Python considers it truthy or falsy. Empty containers ("", [], {}), 0, 0.0, and None become False; almost everything else becomes True.
print(bool("0")) # True (non-empty string!)
print(bool("")) # False
print(bool(0)) # False
int(): int("3.5") raises ValueError; parse with int(float("3.5")) first.bool("False") is False: Any non-empty string evaluates to True, including "False" and "0".int(user_text) inside try ... except ValueError when parsing user input or CSV columns.int(3.9) round up to 4?No. int() truncates toward zero, returning 3. Use round(3.9) when you want standard rounding.
"true" to a boolean?Compare the normalized text explicitly: value.strip().lower() in {"true", "1", "yes"}.
Yes. Call tuple(my_list) to freeze sequence order or set(my_list) to remove duplicate items.
Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.
Quick Access With
Experiment with the code from this lesson in our interactive playground.
You've completed this section! Take a quick 5-question quiz to check your understanding.