Python Glossary English

все 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Сообщить о неточности