使用 python 运算符操作的时候,总是会和 C 语言的一些运算符搞混… 做个记录,如下表所示,无表示不支持对应的操作符
操作符 | 说明 | 示例 | Python结果 | C 结果 |
---|---|---|---|---|
+ | 加 | 10+11 | 21 | 21 |
- | 减 | 10-11 | -1 | -1 |
* | 乘 | 10*11 | 110 | 110 |
/ | 除 | 10/4 | 2.5 | 2 |
// | 整除 | 10//4 | 2 | 无 |
% | 取余 | 10/4 | 2 | 2 |
** | 指数 | 2**3 | 8 | 无 |
++ | 加1 | 2++ | 无 | 3 |
– | 减1 | 2– | 无 | 1 |
abs | 取绝对值 | abs(-3) | 3 | 3 |
fabs | 取绝对值 | fabs(-3.5) | 3.5 | 3.5 |
1、C 语言做除法时,如果两个操作数都是正整数,表现的是整除,如果要得到真实值,需要将其中一个操作数转浮点数运算,如10/4.0
2、C 语言没有指数运算符,可以通过 pow(2,3) 实现
3、python 的整除操作是向下取整,如 -9//2 得到的结果是 -5, 而 C 语言 -9/2 得到的结果是 -4,是向0取整。
4、C 语言里,abs 只能操作整数,浮点数只能用 fabs,使用 fabs,需要包含头文件 math.h,而 Python 中的 abs 即可以操作整数,也可以操作浮点数,fabs 类似于 abs,但使用 fabs,需要引入 math 模块,fabs 同样能操作浮点数和整数,但不像 abs 还可以操作复数。
python 浮点数转整数的四种操作运算 int、round、ceil、floor,其中 int 是向0取整,round是四舍五入,math.floor是向下取整,math.ceil向上取整,如下:
示例 | 说明 | Python结果 |
---|---|---|
int(-3.5) | 向0取整 | -3 |
int(3.5) | 向0取整 | 3 |
math.ceil(-3.5) | 向上取整 | -3 |
math.ceil(3.5) | 向上取整 | 4 |
math.floor(-3.5) | 向下取整 | -4 |
math.floor(3.5) | 向下取整 | 3 |
math.round(-3.5) | 四舍五入 | -4 |
math.round(-3.4) | 四舍五入 | -3 |