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