Chaque type de base possède un constructeur (qui est en réalité une classe) :
str() # chaîne de caractères
int() # nombre entier
float() # nombre décimal
bool() # booléen
Python infère le type automatiquement — les constructeurs sont rarement nécessaires à la création :
"Bonjour" # équivalent à str("Bonjour")
5 # équivalent à int(5)
10.7 # équivalent à float(10.7)
True # équivalent à bool(True)
L'utilité principale des constructeurs est la conversion :
str(5) # → "5" (int → str)
int("2") # → 2 (str → int)
float("3") # → 3.0 (str → float)
⚠️ La conversion échoue si Python ne sait pas interpréter la valeur :
int("Bonjour!") # ValueError