Python3 数字(Number)

Python3 数字(Number)知识点详解

Python3 数字(Number)知识点详解

编程小白必备的数字操作指南 – 用大白话讲解Python数字知识

数字类型

整数(int)

  • 不带小数点的数字,如:10, -5, 1000
  • Python中整数没有大小限制(内存允许范围内)
  • 可以用下划线提高可读性:1_000_000

浮点数(float)

  • 带小数点的数字,如:3.14, -0.5, 2.0
  • 科学计数法:2.5e3 = 2500.0
  • 精度问题:0.1 + 0.2 可能不等于 0.3(二进制浮点数问题)

复数(complex)

  • 形式为 a + bj,其中a是实部,b是虚部
  • 如:3+4j, -2j
# 整数示例
a = 10
b = -5
big_num = 10_000_000

# 浮点数示例
pi = 3.14159
temperature = -10.5
scientific = 1.23e-4 # 0.000123

# 复数示例
c = 3 + 4j
d = 5j
数字类型转换

显式转换

  • int(x):将x转换为整数(直接去掉小数部分)
  • float(x):将x转换为浮点数
  • complex(x):将x转换为复数

隐式转换

  • 整数和浮点数运算时,整数会自动转为浮点数
  • 结果为浮点数:3 + 4.5 → 7.5
  • 整数除法:Python3中 / 总是返回浮点数
# 显式类型转换
num_str = “123”
num_int = int(num_str) # 字符串转整数
num_float = float(“3.14”) # 字符串转浮点数

# 整数转浮点数
a = 10
b = float(a) # 10.0

# 浮点数转整数(会丢失小数部分)
pi_int = int(3.99) # 得到3,不是4!

# 隐式类型转换
result = 5 + 2.5 # 整数5自动转为5.0,结果为7.5
注意: 将字符串转换成数字时,字符串必须符合数字格式,否则会报错。例如 int(“hello”) 会导致 ValueError。
数学运算

基本算术运算符

运算符 含义 示例 结果
+ 加法 5 + 3 8
减法 10 – 4 6
* 乘法 7 * 3 21
/ 除法(返回浮点数) 10 / 3 3.333…
// 整除(向下取整) 10 // 3 3
% 取模(求余数) 10 % 3 1
** 幂运算 2 ** 3 8

运算优先级

  • 括号() > 幂运算** > 乘* / 除// % > 加+ 减-
  • 相同优先级从左到右计算(幂运算从右到左)
# 运算符示例
# 除法与整除
print(10 / 3) # 3.3333333333333335
print(10 // 3) # 3
print(-10 // 3) # -4(向下取整)

# 取模运算
print(10 % 3) # 1
print(10 % -3) # -2(符号与除数相同)

# 幂运算
print(2 ** 3) # 8
print(4 ** 0.5) # 2.0(平方根)

# 优先级示例
result = 3 + 4 * 2 ** 2 # 3 + 4*(4) = 3+16=19
常用数字函数

数值函数

  • abs(x):返回x的绝对值
  • round(x, n):四舍五入,n为小数位数
  • pow(x, y):返回x的y次方,等价于 x**y
  • divmod(a, b):返回(a // b, a % b)

类型判断

  • type(x):返回x的类型
  • isinstance(x, int):检查x是否是整数

进制转换

  • bin(x):将整数转换为二进制字符串
  • oct(x):将整数转换为八进制字符串
  • hex(x):将整数转换为十六进制字符串
# 数值函数示例
print(abs(-5)) # 5
print(round(3.14159, 2)) # 3.14
print(round(2.675, 2)) # 2.67(注意浮点数精度问题)
print(pow(2, 3)) # 8
print(divmod(10, 3)) # (3, 1)

# 类型判断示例
num = 10
print(type(num)) # <class ‘int’>
print(isinstance(3.14, float)) # True

# 进制转换示例
print(bin(10)) # ‘0b1010’
print(oct(10)) # ‘0o12’
print(hex(255)) # ‘0xff’
Math数学模块
  • Python内置的数学模块,提供更多数学函数
  • 使用前需要导入:import math

常用函数

  • math.sqrt(x):平方根
  • math.ceil(x):向上取整
  • math.floor(x):向下取整
  • math.factorial(x):阶乘
  • math.gcd(a, b):最大公约数
  • math.log(x, base):对数
  • math.sin(x):正弦函数(x为弧度)

常量

  • math.pi:圆周率π ≈ 3.14159
  • math.e:自然常数e ≈ 2.71828
import math

# 数学函数示例
print(math.sqrt(16)) # 4.0
print(math.ceil(3.2)) # 4
print(math.floor(3.8)) # 3
print(math.factorial(5)) # 120
print(math.gcd(12, 18)) # 6
print(math.log(100, 10)) # 2.0

# 使用常量
radius = 5
area = math.pi * radius ** 2 # 计算圆面积
随机数模块
  • 生成随机数需要使用random模块
  • 导入:import random

常用函数

  • random.random():[0,1)之间的随机浮点数
  • random.randint(a, b):[a,b]范围内的随机整数
  • random.uniform(a, b):[a,b]范围内的随机浮点数
  • random.choice(seq):从序列中随机选择一个元素
  • random.shuffle(seq):将序列随机打乱
import random

# 生成随机浮点数
print(random.random()) # [0,1)之间,如0.548

# 生成随机整数
print(random.randint(1, 10)) # 1到10之间的整数

# 生成指定范围随机浮点数
print(random.uniform(2.5, 5.5)) # 2.5到5.5之间

# 从列表中随机选择
colors = [‘red’, ‘green’, ‘blue’]
print(random.choice(colors)) # 随机选择一个颜色

# 打乱列表顺序
cards = [‘A’, ‘K’, ‘Q’, ‘J’]
random.shuffle(cards)
print(cards) # 随机顺序,如[‘K’, ‘A’, ‘J’, ‘Q’]
Python3 数字(Number)知识点总结 | 编程小白学习指南 | 建议配合实践练习效果更佳

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部