pythonon_tips-分不清楚的乘法和开方

万壑松风知客来,摇扇抚琴待留声

简述

很早的一个问题,当然现在有时还是会迷糊,所以这里简单记录下来。这是关于 Python 中计算幂运算、开方时的几种方法。主要包括了 math、numpy 提供的几种方法

math模块:

1. $pow(x,y)$ 函数:

结果:

幂运算,返回以 $x$ 为底,$y$ 为指数的运算结果 $x^{y}$ 。

规则:

当底数 $x$ 为正数时,指数 $y$ 可以为任何实数(-1.5、-2、0、1.5、2);当 $x$ 为负数时,$y$ 可以为任何整数(-2、0、2);当 $x$ 为 0 时,$y$ 可以为任何正数(2、2.5);当 $y$ 为 0 时,x 取任何值结果都为 1。

注意:

该函数只能计算 $x$ 一个数,即不能处理数组,且返回结果为 float 类型。

2. $sqrt(x)$ 函数:

结果:

开平方,返回 $x$ 的平方根运算结果 $\sqrt{x}$ 。

规则:

只需传入一个数 $x$ 即可,没有多余参数。

注意:

$x$ 不可为负数,可以为任何非负数(0、2、2.5),该函数只能计算 $x$ 一个数,即不能处理数组,且返回结果为 float 类型。

numpy模块:

相对于 math 模块,numpy 功能更强大,与 math 模块最大的区别就是可以对数组或矩阵运算,但是这里仅做部分主要参数的使用说明

1. $np.power(x,y)$ 函数:

结果:

(矩阵)幂运算,返回 $x$ 为底,$y$ 为指数的运算结果 $x^y$ 。

规则:

$x$ 和 $y$ 可以分别是元素、列表、矩阵,若 $x$ 与 $y$ 都是列表或者矩阵,则唯一的要求就是两者的列(也就是维数)相等。

注意:

$x$、$y$ 可以为任何数值,只需满足当 $x$、$y$ 都为列表或矩阵时,两者的列相等,且返回结果为 float 类型。

2. $np.sqrt(x)$ 函数:

结果:

(矩阵)开平方,返回 $x$ 的平方根运算结果 $\sqrt{x}$ 。

规则:

$x$ 可以是元素、列表、矩阵,分别对每个元素进行开方,若某元素为空值或负数,则开方后是空值($nan$),且非空值返回结果为 float 类型。

注意:

没有什么注意的。

3. $np.square(x)$ 函数:

结果:

(矩阵)幂为 2 运算,返回 $x*x$ 的结果,也就是 $x^2$ 。

规则:

$x$ 可以是元素、列表、矩阵,分别对每个元素进行平方运算,若 $x$ 全部为非空值整数,则返回结果为 int 类型,否者为 float 类型。

注意:

没什么注意的。