Результат 0.1 + 0.2 в Python (и во многих других языках программирования) может быть неожиданным из-за особенностей представления чисел с плавающей точкой (floating-point numbers) в компьютерах. В большинстве случаев используется стандарт IEEE 754.
Суть проблемы:
0.1 + 0.2, компьютер на самом деле работает с приближениями этих чисел.Последствия:
Сумма этих приближений может не равняться точно 0.3, а, например, 0.30000000000000004. Это происходит из-за того, что ошибки округления складываются.  Именно это небольшое отклонение от ожидаемого значения и является причиной "неожиданности".
Как справиться:
round() для округления результата до нужного количества знаков после запятой.  Например: round(0.1 + 0.2, 2).decimal: Для ситуаций, где требуется высокая точность, можно использовать модуль decimal. Он позволяет представлять десятичные числа точно, избегая проблем с округлением, но за счет некоторой потери производительности.  Пример: from decimal import Decimal; Decimal('0.1') + Decimal('0.2').if x == 0.3: используйте проверку с допуском на небольшую погрешность, например: if abs(x - 0.3) < 1e-9:.В заключение, "неожиданный" результат 0.1 + 0.2 является следствием особенностей представления чисел с плавающей точкой в компьютере и требует понимания и учета при разработке программного обеспечения.