Python Glossary English

все Python 3cmathфункция

cmath.log10()

степени и логарифмы

Десятичный логарифм комплексного числа. Отличается от math.log10 типом результата и тем, что принимает отрицательные числа.

Синтаксис

cmath.log10(z)

Ловушка точности: cmath.log10(1000) даёт (2.9999999999999996+0j), тогда как math.log10(1000) ровно 3.0. Поэтому не превращайте результат в int через int(z.real) — получите 2; округляйте round(z.real) или сравнивайте через isclose. Для отрицательного аргумента появляется мнимая часть π/ln 10 ≈ 1.364.

Примеры

import cmath
import math
z = cmath.log10(1000)
print(z, math.log10(1000))  # → (2.9999999999999996+0j) 3.0
print(int(z.real), round(z.real))  # → 2 3
import cmath
print(cmath.log10(-100))  # → (2+1.3643763538418412j)

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности