Python3(7) 数字类型
在 Python 编程世界里,数字类型是处理数值数据的基础。深入理解 Python3 中的数字类型,包括整型、浮点型、复数,以及相关的运算、转换和常用函数,对于编写高效且准确的代码至关重要。这篇博客将结合代码示例,对 Python3 数字相关知识进行全面总结,方便你日后复习回顾。
一、Python3 数字类型基础
(一)数字类型概述
Python3 支持三种主要的数值类型:整型(int)、浮点型(float)和复数(complex)。数字数据类型具有不可变性,意味着修改数字的值时,会重新分配内存空间。
# 数字对象创建
var1 = 1
var2 = 10
还可以使用del
语句删除数字对象的引用,可删除单个或多个对象。
# 删除对象引用
del var1
del var2, var3 # 假设var3已定义
(二)整型(int)
整型即整数,包括正整数、负整数,没有小数点。Python3 的整型没有大小限制,可当作 Python2 中的 Long 类型使用,并且布尔类型(bool)是整型的子类型,True
等价于 1,False
等价于 0。
# 整型示例
num1 = 10
num2 = -20
print(num1, num2)
此外,Python 还支持用十六进制(前缀0x
)和八进制(前缀0o
)表示整数。
# 十六进制和八进制整数
hex_num = 0xA0F
oct_num = 0o37
print(hex_num) # 输出2575
print(oct_num) # 输出31
(三)浮点型(float)
浮点型由整数部分和小数部分组成,也可用科学计数法表示。
# 浮点型示例
float_num1 = 2.5
float_num2 = 2.5e2 # 2.5 x 10² = 250
print(float_num1, float_num2)
(四)复数(complex)
复数由实数部分和虚数部分构成,可表示为a + bj
或complex(a, b)
,实部a
和虚部b
都是浮点型。
# 复数示例
complex_num1 = 3 + 4j
complex_num2 = complex(5, 6)
print(complex_num1, complex_num2)
二、数字类型转换
Python 提供了简单的函数用于数字类型转换。
# 类型转换示例
a = 1.0
int_a = int(a) # 将浮点数转换为整数
print(int_a) # 输出1b = 5
float_b = float(b) # 将整数转换为浮点数
print(float_b) # 输出5.0c = 7
complex_c = complex(c) # 将整数转换为复数,实部为7,虚部为0
print(complex_c) # 输出(7+0j)d = 8
e = 9
complex_d = complex(d, e) # 将两个数字转换为复数,实部为8,虚部为9
print(complex_d) # 输出(8+9j)
三、数字运算
(一)基本运算
Python 解释器可当作计算器使用,支持常见的算术运算符,如+
(加)、-
(减)、*
(乘)、/
(除)、//
(整除)、%
(取余)和**
(幂运算) 。
# 基本运算示例
print(2 + 2) # 输出4
print(50 - 5 * 6) # 输出20
print((50 - 5 * 6) / 4) # 输出5.0
print(8 / 5) # 输出1.6,除法总是返回浮点数
print(17 // 3) # 输出5,整除返回向下取整后的结果
print(17 % 3) # 输出2,取余操作返回除法的余数
print(5 * 3 + 2) # 输出17
print(5 ** 2) # 输出25,5的平方
print(2 ** 7) # 输出128,2的7次方
注意,不同机器上浮点运算结果可能不同,并且//
运算结果的数据类型与分母分子有关。
(二)混合运算
不同类型的数进行混合运算时,整数会转换为浮点数。
# 混合运算示例
print(3 * 3.75 / 1.5) # 输出7.5
print(7.0 / 2) # 输出3.5
(三)交互模式下的特殊变量_
在交互模式中,最后输出的表达式结果会赋值给变量_
,但应将其视为只读变量。
# 交互模式下_变量示例
tax = 12.5 / 100
price = 100.50
print(price * tax) # 输出12.5625
print(price + _) # 输出113.0625
print(round(_, 2)) # 输出113.06,四舍五入保留两位小数
四、常用数学函数
Python 提供了丰富的数学函数,需要导入math
模块来使用大部分函数(abs()
等部分函数可直接使用)。
import math# 数学函数示例
print(abs(-10)) # 输出10,返回绝对值
print(math.ceil(4.1)) # 输出5,返回上入整数
# cmp()函数在Python 3中已废弃,使用(x>y)-(x<y)替换
print(math.exp(1)) # 输出2.718281828459045,返回e的x次幂
print(math.fabs(-10)) # 输出10.0,以浮点数形式返回绝对值
print(math.floor(4.9)) # 输出4,返回下舍整数
print(math.log(math.e)) # 输出1.0,自然对数
print(math.log10(100)) # 输出2.0,以10为底的对数
print(max(1, 3, 5)) # 输出5,返回最大值
print(min(2, 4, 6)) # 输出2,返回最小值
print(math.modf(5.6)) # 输出(0.6, 5.0),返回整数和小数部分
print(math.pow(2, 3)) # 输出8.0,2的3次方
print(round(3.14159, 2)) # 输出3.14,四舍五入保留两位小数
print(math.sqrt(16)) # 输出4.0,返回平方根
五、随机数函数
在 Python 的random
模块中,有许多用于生成随机数的函数,适用于数学、游戏、安全等领域。
import random# 随机数函数示例
print(random.choice(range(10))) # 从0到9中随机挑选一个整数
print(random.randrange(1, 10, 2)) # 从1到9中,以2为步长的集合里随机获取一个数
print(random.random()) # 随机生成一个[0, 1)范围内的实数
# 改变随机数生成器的种子,不设置时Python会自动选择
random.seed(1)
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list) # 随机打乱列表顺序
print(my_list)
print(random.uniform(1, 5)) # 随机生成一个[1, 5]范围内的实数
六、三角函数
Python 的math
模块还提供了三角函数相关函数,用于处理角度和弧度的计算。
import math# 三角函数示例
print(math.acos(0.5)) # 返回反余弦弧度值
print(math.asin(0.5)) # 返回反正弦弧度值
print(math.atan(1)) # 返回反正切弧度值
print(math.atan2(1, 1)) # 返回给定坐标的反正切值
print(math.cos(math.pi / 2)) # 返回余弦值
print(math.hypot(3, 4)) # 返回欧几里德范数
print(math.sin(math.pi / 2)) # 返回正弦值
print(math.tan(math.pi / 4)) # 返回正切值
print(math.degrees(math.pi / 2)) # 将弧度转换为角度
print(math.radians(90)) # 将角度转换为弧度
七、数学常量
math
模块中定义了常用的数学常量pi
(圆周率)和e
(自然常数)。
import math# 数学常量示例
print(math.pi) # 输出圆周率
print(math.e) # 输出自然常数
通过对 Python3 数字类型及其相关知识的学习,你已经掌握了 Python 处理数值数据的核心要点。无论是基础的数字运算,还是复杂的数学函数和随机数应用,这些知识都将成为你 Python 编程道路上的有力工具。希望这篇博客能帮助你在日后的学习和工作中,快速回顾并运用这些知识,提升编程效率。
在 Python3 中,数字类型是编程的基础元素之一,它广泛应用于各种计算和数据处理场景。本文将全面总结 Python3 中数字类型的相关知识,结合代码示例,方便大家日后复习和回顾。
八、Python3 数字类型概述
Python3 支持四种不同的数字类型,分别是:
- 整数(int):可以是任意大小的整数,包括正整数、负整数和零,没有大小限制。
- 浮点数(float):表示带有小数部分的数字,也可以使用科学计数法表示。
- 复数(complex):由实数部分和虚数部分组成,形式为
a + bj
,其中a
是实数部分,b
是虚数部分。 - 布尔(bool):只有两个值,
True
和False
,在逻辑运算和条件判断中使用。
九、整数(int)
整数是 Python 中最基本的数字类型,支持常见的数学运算。
代码示例:整数运算
# 定义两个整数
a = 10
b = 3# 加法运算
sum_result = a + b
print(f"{a} + {b} = {sum_result}")# 减法运算
sub_result = a - b
print(f"{a} - {b} = {sub_result}")# 乘法运算
mul_result = a * b
print(f"{a} * {b} = {mul_result}")# 除法运算
div_result = a / b
print(f"{a} / {b} = {div_result}")# 取整除运算
floor_div_result = a // b
print(f"{a} // {b} = {floor_div_result}")# 取模运算
mod_result = a % b
print(f"{a} % {b} = {mod_result}")# 幂运算
pow_result = a ** b
print(f"{a} ** {b} = {pow_result}")
代码解释
上述代码展示了整数的基本运算,包括加法、减法、乘法、除法、取整除、取模和幂运算。需要注意的是,除法运算 /
的结果是浮点数,而取整除运算 //
会向下取整。
十、浮点数(float)
浮点数用于表示带有小数部分的数字,可以使用小数形式或科学计数法表示。
代码示例:浮点数运算
# 定义两个浮点数
x = 2.5
y = 1.2# 加法运算
sum_float = x + y
print(f"{x} + {y} = {sum_float}")# 乘法运算
mul_float = x * y
print(f"{x} * {y} = {mul_float}")
代码解释
浮点数的运算和整数类似,但由于浮点数在计算机中的存储方式,可能会出现一些精度问题。例如:
result = 0.1 + 0.2
print(result) # 输出结果可能不是精确的 0.3
十一、复数(complex)
复数由实数部分和虚数部分组成,使用 j
或 J
表示虚数单位。
代码示例:复数运算
# 定义两个复数
c1 = 3 + 4j
c2 = 1 + 2j# 加法运算
sum_complex = c1 + c2
print(f"{c1} + {c2} = {sum_complex}")# 乘法运算
mul_complex = c1 * c2
print(f"{c1} * {c2} = {mul_complex}")# 获取复数的实部和虚部
real_part = c1.real
imag_part = c1.imag
print(f"复数 {c1} 的实部是 {real_part},虚部是 {imag_part}")
代码解释
上述代码展示了复数的加法和乘法运算,以及如何获取复数的实部和虚部。
十二、布尔(bool)
布尔类型只有两个值,True
和 False
,常用于逻辑运算和条件判断。
代码示例:布尔运算
# 定义两个布尔值
p = True
q = False# 逻辑与运算
and_result = p and q
print(f"{p} and {q} = {and_result}")# 逻辑或运算
or_result = p or q
print(f"{p} or {q} = {or_result}")# 逻辑非运算
not_result = not p
print(f"not {p} = {not_result}")
代码解释
布尔类型的逻辑运算包括与(and
)、或(or
)和非(not
)运算,这些运算在条件判断和循环控制中非常有用。
十三、数字类型的转换
在 Python 中,可以使用内置函数进行数字类型的转换。
代码示例:数字类型转换
# 整数转换为浮点数
num_int = 5
num_float = float(num_int)
print(f"整数 {num_int} 转换为浮点数是 {num_float}")# 浮点数转换为整数
float_num = 3.7
int_num = int(float_num) # 直接截断小数部分
print(f"浮点数 {float_num} 转换为整数是 {int_num}")# 整数转换为布尔值
int_val = 1
bool_val = bool(int_val)
print(f"整数 {int_val} 转换为布尔值是 {bool_val}")# 布尔值转换为整数
bool_var = True
int_var = int(bool_var)
print(f"布尔值 {bool_var} 转换为整数是 {int_var}")
代码解释
上述代码展示了整数、浮点数和布尔值之间的相互转换。需要注意的是,将浮点数转换为整数时,会直接截断小数部分。
十四、数学函数和随机数生成
Python 提供了丰富的数学函数和随机数生成函数,这些函数可以在 math
模块和 random
模块中找到。
代码示例:数学函数和随机数生成
import math
import random# 数学函数示例
num = 4
sqrt_result = math.sqrt(num)
print(f"{num} 的平方根是 {sqrt_result}")# 随机数生成示例
random_num = random.randint(1, 10) # 生成 1 到 10 之间的随机整数
print(f"生成的随机整数是 {random_num}")
代码解释
上述代码展示了如何使用 math
模块中的 sqrt
函数计算平方根,以及使用 random
模块中的 randint
函数生成随机整数。
总结
Python3 中的数字类型包括整数、浮点数、复数和布尔值,每种类型都有其特点和应用场景。同时,Python 提供了丰富的运算和函数,方便我们进行数字处理和计算。通过掌握这些知识,我们可以更加高效地进行 Python 编程。希望本文能帮助大家复习和回顾 Python3 数字类型的相关内容。