все Python 3Типы данныхпонятие
Преобразование типов
преобразование
Явное приведение одного типа к другому с помощью встроенных функций int(), float(), str(), bool(). При невозможной конвертации возникает ValueError или TypeError.
Синтаксис
int(x) | float(x) | str(x) | bool(x)
bool() коварнее всего: любая непустая строка истинна, поэтому bool("False") и bool("0") — это True. А int() от float отбрасывает дробь в сторону нуля (int(-3.9) → -3, не округление), тогда как int("3.9") сразу падает с ValueError — строку с точкой сначала надо прогнать через float().
Примеры
print(int(3.9)) # → 3 (отбрасывание дробной части)
print(int("42")) # → 42
print(float(7)) # → 7.0
print(str(100)) # → "100"
print(bool(0)) # → False
print(bool("")) # → False
try:
int("3.14")
except ValueError as e:
print(type(e).__name__) # → ValueError (нельзя напрямую)
print(int(float("3.14"))) # → 3 (через float)
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности