Python3 数字(Number)详解

在 Python3 中,数字(Number)是基本数据类型之一,用于存储数值。Python 支持多种数字类型,并提供丰富的内置函数和模块来处理数值计算。以下是 Python3 数字的详细介绍:

一、数字类型分类

Python3 支持以下几种数字类型:

1. 整数(int)

  • 不限长度,可表示任意大小的整数。
  • 支持二进制(0b前缀)、八进制(0o前缀)、十六进制(0x前缀)表示法。

示例

a = 100         # 十进制
b = 0b1100      # 二进制,等于12
c = 0o17        # 八进制,等于15
d = 0xFF        # 十六进制,等于255

print(type(a))  # 输出: <class 'int'>
 

2. 浮点数(float)

  • 表示小数,使用小数点或科学计数法(e表示 10 的幂)。

示例
 
 
x = 3.14
y = 1.23e6      # 等于1.23×10⁶,即1230000.0

print(type(y))  # 输出: <class 'float'>
 

3. 复数(complex)

  • 由实部和虚部组成,虚部用jJ表示。

示例
 
z = 3 + 4j
print(z.real)   # 输出实部: 3.0
print(z.imag)   # 输出虚部: 4.0
print(z.conjugate())  # 输出共轭复数: (3-4j)
 

4. 布尔值(bool)

  • 特殊的整数类型,True等于1False等于0

示例
 
print(True + 1)  # 输出: 2
print(False * 5) # 输出: 0
 

二、数字类型转换

Python 提供内置函数进行类型转换:

函数描述
int(x) x转换为整数
float(x) x转换为浮点数
complex(real, imag) 创建复数
bool(x) x转换为布尔值

示例
 
a = int(3.14)       # 输出: 3
b = float("5.67")   # 输出: 5.67
c = complex(2, 3)   # 输出: (2+3j)
d = bool(0)         # 输出: False
 

三、数学运算

Python 支持丰富的数学运算,包括基本算术、位运算和逻辑运算。

1. 基本算术运算符

运算符描述示例
+ 加法 5 + 3 → 8
- 减法 5 - 3 → 2
* 乘法 5 * 3 → 15
/ 除法 5 / 3 → 1.666...
// 整除 5 // 3 → 1
% 取模 5 % 3 → 2
** 幂运算 5 ** 3 → 125

2. 内置数学函数

函数描述
abs(x) 返回x的绝对值
round(x, n) 四舍五入,n为小数位数
pow(x, y) 计算
max()/min() 返回最大值 / 最小值
divmod(x, y) 返回(x // y, x % y)

示例

 
print(abs(-5))        # 输出: 5
print(round(3.1415, 2)) # 输出: 3.14
print(pow(2, 3))      # 输出: 8
print(divmod(10, 3))  # 输出: (3, 1)
 

四、math 模块

提供更多高级数学函数和常量。

常用函数和常量
 
 
import math

# 常量
print(math.pi)       # π,约3.14159
print(math.e)        # 自然常数e,约2.71828

# 常用函数
print(math.sqrt(16)) # 平方根 → 4.0
print(math.sin(math.radians(90))) # 正弦函数 → 1.0
print(math.log(100, 10)) # 对数 → 2.0
print(math.ceil(3.2))    # 向上取整 → 4
print(math.floor(3.9))   # 向下取整 → 3
print(math.factorial(5)) # 阶乘 → 120
 

五、随机数(random 模块)

用于生成随机数或随机选择元素。

常用函数
 
import random

print(random.random())       # 生成0-1之间的随机浮点数
print(random.randint(1, 10)) # 生成1-10之间的随机整数
print(random.choice([1, 2, 3, 4])) # 从序列中随机选择一个元素

# 随机打乱列表顺序
lst = [1, 2, 3, 4, 5]
random.shuffle(lst)
print(lst)  # 可能输出: [3, 1, 5, 4, 2]
 

六、分数与小数(fractions 和 decimal 模块)

1. fractions 模块

用于精确表示分数。
 
from fractions import Fraction

a = Fraction(1, 3)  # 表示1/3
b = Fraction(2, 6)  # 自动约分为1/3

print(a + b)        # 输出: 2/3
print(a * b)        # 输出: 1/9
 

2. decimal 模块

用于高精度十进制计算,避免浮点数精度误差。
 
 
from decimal import Decimal, getcontext

# 设置精度为28位
getcontext().prec = 28

a = Decimal('0.1')
b = Decimal('0.2')
print(a + b)        # 精确输出: 0.3
 

七、注意事项

  1. 整数除法:Python3 中,/运算符始终返回浮点数,若需整数结果,使用//
  2. 浮点数精度:浮点数存在精度限制,如0.1 + 0.2 != 0.3,高精度场景使用decimal模块。
  3. 复数运算:复数支持基本运算,但不支持比较(如><)。

八、总结

  • 整数(int):任意大小,支持多种进制。
  • 浮点数(float):表示小数,注意精度问题。
  • 复数(complex):由实部和虚部组成。
  • 布尔值(bool)TrueFalse,可参与数值运算。
  • 类型转换:使用int()float()等函数。
  • 数学工具:内置函数(如abs()round())和模块(如mathrandom)。

合理选择数字类型和工具能高效解决各种数值计算问题。

posted on 2025-06-18 09:24  小陶coding  阅读(91)  评论(0)    收藏  举报