Python基础:数值计算
## 简介 本文用于记录Python基础数据类型的的定义和计算。
渲染中...
## 简介
本文用于记录Python基础数据类型的的定义和计算。
<!-- more -->
## Python数值类型
- 整数
```python
a = 1;
```
- 浮点数(小数)
```python
a = 0.1;
```
- 复数
```python
a = 1 + 2j;
```
## 基本运算
### 加减乘除
#### 整数
```py
print(1 + 2)
print(1 - 2)
print(1 * 2)
print(1 / 2)
```
- 输出
```
3
-1
2
0.5
```
#### 浮点数
```py
print(0.1 + 0.2)
print(0.1 - 0.2)
print(0.1 * 0.2)
print(0.1 / 0.2)
```
- 输出
```
0.30000000000000004
-0.1
0.020000000000000004
0.5
```
- 由输出可见,浮点数直接进行基本运算会存在误差,所以建议使用`deciaml`模块进行浮点数计算,如加法:
```py
a = decimal.Decimal('0.1')
b = decimal.Decimal('0.2')
print(a + b)
```
- 与`Java`中`BigDecimal`用法类似。
- 输出
```
0.3
```
#### 复数
```py
c = 1 + 2j
d = 2 + 1j
print(c + d)
print(c - d)
print(c * d)
print(c / d)
```
- 输出
```
(3+3j)
(-1+1j)
5j
(0.8+0.6j)
```
### 双除 && 模除
#### 整数
- 一般只用于整数计算
- 双除(`//`):也叫地板除,即向下取整。与Java中的`/`类似,但不完全相同。如`Java`中(`-3 / 2`)结果为`-1`,但`Python`中的(`-3 // 2`)结果为`-2`。由此可见,`Java`中更像是去掉小数点后的数字取整,而`Python`则是实际意义上的向下取整。
- 模除(`%`):即取除法的余数。与Java中的计算结果完全一样。
```py
print(3 // 2)
print(-3 // 2)
print(3 % 2)
print(-3 % 2)
print((-3 // 2) * 2 + (-3 % 2))
```
- 输出
```
1
-2
1
1
-3
```
### 函数divmod
- 同时计算出双除和模除的结果
```py
print(divmod(3, 2))
print(divmod(-3, 2))
```
- 输出
```
(1, 1)
(-2, 1)
```
### 函数abs
- 计算绝对值
#### 整数 / 浮点数
```py
print(abs(-3))
print(abs(-3.1))
```
- 输出
```
3
3.1
```
#### 复数
- 计算负数的模
```py
c = 1 + 2j
print(abs(c))
```
- 输出
```
2.23606797749979
```
### 函数int
- 将浮点数/字符串转化为整数
- 如果参数是字符串,必须是整数字符串,否则报错`ValueError: invalid literal for int() with base 10`
- 如果参数是浮点数,则直接去掉小数后数字取整
```py
print(int('1'))
print(int(9.99))
print(int(9))
```
- 输出
```
1
9
9
```
### 函数float
- 将字符串 / 整数转化为浮点数
```py
print(float('1'))
print(float('1.20'))
print(float(1.20))
print(float(1))
```
- 输出
```
1.0
1.2
1.2
1.0
```
### 函数complex
- 将字符串转为复数,注意字符串不能有空格
```py
print(complex("1-2j"))
```
- 输出
```
(1-2j)
```
### 函数pow和运算符`**`
- 幂运算
- `pow(x, y)`含义:x 的 y 次幂,等价于 `x ** y`
- `pow(x, y, n)`含义:x 的 y 次幂,再除以n取余
```py
print(pow(2, 3))
print(pow(2, 3, 5))
print(2 ** 3)
print(2 ** 3 % 5)
```
- 输出
```
8
3
8
3
```
END
评论
登录后查看和发表评论
前往登录