一、数值
1. 表现形式
- 整数: int
- 二进制:
0b + 二进制数(0, 1)
, 例如:0b1010
- 八进制:
0o + 八进制数(0-7)
, 例如:0o21457
- 十进制:
十进制数(0-9)
, 例如:94832
- 十六进制:
0x + 十六进制数(0-9, a-f)
, 例如:0xa5b3
- 二进制:
- 浮点数:
float
- 有整数部分和小数部分组成, 例如:
10.312
- 可以使用科学计数法表示, 例如:
1.682e02 => 1.682 * 10^2
- 有整数部分和小数部分组成, 例如:
- 复数:
complex
- 由实部和虚部组成
-
a + bj
, 可以由函数complex(a, b)
表示 - a和b都是浮点数
- 注意:
- Python3的整形, 可以自动调整大小, 当做long类型使用, Python3中没有long类型, Python2中有long类型
- 数值型分正负
2. 进制转换
- 进制概念: 进位的制度,
x进制, 逢x进1
- 常用进制:
- 二进制: 逢2进1
- 八进制: 逢8进1
- 十进制: 逢10进1
- 十六进制: 逢16进1
- 进制转换
- 二进制 -> 十进制:
0b1011 -> 1 * 2 ^ 3 + 0 * 2 ^ 2 + 1 * 2 ^1 + 1 * 2 ^ 0
- 八进制 -> 十进制:
0o7562 -> 7 * 8 ^ 3 + 5 * 8 ^ 2 + 6 * 8 ^1 + 2 * 8 ^ 0
- 十六进制 -> 十进制:
0xf5a -> 15 * 16 ^ 2 + 5 * 16 ^ 1 + 10 * 16 ^ 0
- 十进制 -> x进制: 整除倒取余
十进制 -> 二进制 num = 18 print(bin(num)), 打印: 0b10010 十进制 -> 八进制 num = 18 print(oct(num)), 打印: 0o22 十进制 -> 十六进制 num = 18 print(hex(num)), 打印: 0x12
- 二进制 -> 八进制: 整合三位为一位, 不足三位, 前面补0
num = 0b10 010 10 -> 010 -> 2 010 -> 2 0b010 010 == 0o22
- 八进制 -> 二进制: 一位分为三位
num = 0o22 2 -> 010 2 -> 010 0o22 == 0b010010
- 二进制 -> 十六进制: 整合四位为一位, 不足四位, 前面补0
num = 0b101 1010 101 -> 0101 -> 5 1010 -> 10 0b01011010 == 0x5a
- 十六进制 -> 二进制: 一位分为四位
num = 0x5a 5 -> 0101 a -> 1010 0o22 == 0b0101 1010 -> 0b1011010
- 二进制 -> 十进制:
3. 常用操作
- 适用于几乎所有Python运算符
- 整数和浮点数进行运算, 结果是浮点数
- 条件判断时, 非零即真
- 数学函数
- Python中拥有内置函数, 即: 可以直接调用的函数
abs(x): 绝对值函数, 获取数值的绝对值 max(x, y, ...): 最大值函数, 获取多个数值中的最大值 min(x, y, ...): 最小值函数, 获取多个数值中的最小值 round(x, n): 四舍五入函数, n为小数点后位数 num = round(3.57) print(num), 打印: 4 // 保留一位小数 num1 = round(3.57, 1) print(num1), 打印: 3.6 pow(x, y): x的y次幂
- 非内置函数使用前注意:
- 导入对应模块: 例如:
import math
- 使用函数时: 模块名.函数名(参数), 例如:
math.fabs(-10)
- 导入对应模块: 例如:
math标准库, 使用时需要使用import导入 import math 调用math标准库中的函数时, 需要使用 库名.函数名(参数) 的形式 ceil(num): 向上取整函数 print(math.ceil(3.5)) // 打印: 4 floor(num): 向下取整函数 print(math.ceil(3.5)) // 打印: 3 sqrt(num): 开平方函数 print(math.sqrt(4)) // 打印: 2 log(x, base): 求对数函数 print(math.log(10000, 10)) // 打印: 4
- 随机函数
- 获取随机数的函数, 需要使用
random
标准库
# 使用random函数, 需要先导入 random 标准库 import random # random(): 获取 [0, 1) 范围内的小数 random.random() # choice(seq): 从一个序列中, 随机挑选一个数值 list = [1, 3, 5, 6, 7, 8] random.choice(list) # uniform(x, y): 获取 [x, y] 范围内的随机小数 random.uniform(1, 3) # randint(x, y): 获取[x, y] 范围内的随机整数 random.randint(3, 10) # randrange(start, stop=None, step=1): 给定区间内的一随机整数, [start, stop) randrange(1, 20) # 获取 [1, 20) 范围内的随机整数 randrange(1, 20, 5) # 获取 [1, 20) 范围内, 步长为5的随机整数, 即范围: 1, 6, 11, 16
- 获取随机数的函数, 需要使用
- 三角函数
- 使用三角函数, 需要导入 math 标准库
import math # sin(x): 正弦, x是一个弧度, 即 角度 / 180 * π, 以下函数的x意思相同 math.six(math.pi / 4) # pi是math库中的数学常量, π # cos(x): 余弦 # tan(x): 正切 # asin(x): 反正弦 # acos(x): 反余弦 # atan(x): 反正切 # degrees(x): 弧度 -> 角度 # radians(x): 角度 -> 弧度
- 数学常量
- 数学中的常量, 比如 π, 一个固定的值
- 注意: 由于Python中只有变量, 没有常量, 所以我们使用常量时, 就默认这个值不会变
二、布尔bool
1. bool
- bool类型的值只有两个: True 和 False
2. bool是int类型的子类
- Python中有一个函数
issubclass(x, y)
, 用来判断x是否是y的子类, 返回值是bool类型
result = issubclass(bool, int)
打印: True, 即bool使int的子类, 拥有int特性
3. 应用场景
- 当做int类型进行运算
num1 = True + 2
print(num1) 打印: 3, 所以True参与运算时, 会被当做整数 1
num2 = False + 2
print(num2) 打印: 2, 所以False参与运算时, 会被当做整数 0
-
比较表达式的运算结果
- 一个比较表达式, 其结果是一个bool类型, 即真或者假, 也就是相等或不相等
可以用于 if判断条件 和 while循环条件