Python中log函数属math模块或numpy库,用于计算自然对数、常用对数及任意底数对数;math.log适用于单值,math.log10/log2更高效明确,numpy.log系列支持数组批量运算,需注意参数正性及导入要求。

Python 中没有直接叫 log 的独立函数,它属于 math 模块或 numpy 库,用途是计算对数。最常用的是自然对数(以 e 为底)和以 10 为底的常用对数,也可以指定任意底数。
导入 math 后,用 math.log(x) 计算自然对数(ln x),math.log(x, base) 可指定底数。
math.log(10) → 约 2.3026(ln 10)math.log(100, 10) → 2.0(log₁₀100)math.log(8, 2) → 3.0(log₂8)⚠️ 注意:x 必须 > 0,否则抛出 ValueError;底数必须 > 0 且 ≠ 1。
这两个是专用函数,比 math.log(x, 10) 或 math.log(x, 2) 更快、更可读,也避免传错底数。
立即学习“Python免费学习笔记(深入)”;
math.log10(1000) → 3.0math.log2(16) → 4.0它们同样要求参数 > 0。
如果要对列表、NumPy 数组批量计算对数,用 numpy 更合适:
np.log([1, np.e, np.e**2]) → [0., 1., 2.](自然对数)np.log10([1, 10, 100]) → [0., 1., 2.]
np.log2([1, 2, 4, 8]) → [0., 1., 2., 3.]
⚠️ 注意:输入含 ≤ 0 时,对应结果为 nan 或 -inf,不会报错(但会警告)。如需安全处理,可先用 np.where 过滤。
新手容易踩的几个点:
import math 或 import numpy as np,直接写 log(10) 会报 NameError
math.log(100, 10) 是“10 的 log”,其实它是“log₁₀100”,顺序是 log(真数, 底数)
math 版本直接崩溃,numpy 版本返回 nan,需提前校验math.log(100)(这是 ln100 ≈ 4.605),应改用 math.log10(100)
基本上就这些。选 math 还是 numpy,看你是算一个数还是算一串数——不复杂,但细节容易忽略。
以上就是python log函数怎么用的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号