python 内置数据结构-数值型
内置数值型数据结构
int
整数 (int):在 Python 中,整数是没有小数部分的数字。整数可以是正数、负数或零。Python 中的整数没有大小限制,取决于内存区域的大小,可以表示任意大小的整数。
x = 10
y = -5
z = 0
print(x, y, z) # 输出: 10 -5 0
float
浮点数 (float):浮点数是带有小数部分的数字,可以是正数、负数或零。只有双精度型。
a = 3.14
b = -2.5
c = 1.2e3 # 1.2 * 10^3,即 1200.0
print(a, b, c) # 输出: 3.14 -2.5 1200.0
complex
复数 (complex):复数由实部和虚部构成,虚部用字母 "j" 表示。可以通过 complex() 函数创建复数。
m = 2 + 3j
n = complex(1, -4)
print(m, n) # 输出: (2+3j) (1-4j)
bool
布尔值 (bool):布尔值只有两个取值,True 和 False,用于表示真和假。通常用于逻辑运算和条件判断。可以和整数直接运算。
p = True
q = False
r = 10 > 5
print(p, q, r) # 输出: True False True
内置数值类型转换
int()
int(x):将 x 转换为整数。如果 x 是浮点数,则向下取整。
x = 3.8
y = int(x)
print(y) # 输出: 3
# 将字符串转换为整数:
num_str = "123"
num_int = int(num_str)
print(num_int) # 输出:123
# 将二进制字符串转换为整数
num_str = "1010"
num_int = int(num_str, 2) # 将二进制字符串转换为整数
print(num_int) # 输出:10
# 将8进制字符串转换为整数
num_str_oct = "12"
num_int_oct = int(num_str_oct, 8) # 将8进制字符串转换为整数
print(num_int_oct) # 输出:10
# 将16进制字符串转换为整数
num_str_hex = "1A"
num_int_hex = int(num_str_hex, 16) # 将16进制字符串转换为整数
print(num_int_hex) # 输出:26
float()
float(x):将 x 转换为浮点数。
a = 5
b = float(a)
print(b) # 输出: 5.0
complex()
complex(x):将 x 转换为复数,实部为 x,虚部为 0。
m = 10
n = complex(m)
print(n) # 输出: (10+0j)
str()
str(x):将 x 转换为字符串。
num = 123
str_num = str(num)
print(str_num) # 输出: '123'
bool()
bool(x):将 x 转换为布尔值。如果 x 为 0、空字符串、空列表等,则转换为 False;否则转换为 True。
a = 0
b = bool(a)
print(b) # 输出: False
c = 10
d = bool(c)
print(d) # 输出: True
数字处理函数
round()
round(): 四舍六入五取偶。它的语法为:round(number, ndigits),其中 number 是要四舍六入五取偶的数值,ndigits 是要保留的小数位数。当 ndigits 为负数时,round() 函数会将数值在十位、百位等位置进行四舍五入:
x = 3.7
result = round(x)
print(result) # 输出: 4
y = 2.34567
result = round(y, 2)
print(result) # 输出: 2.35
z = 2.5
result = round(z)
print(result) # 在这种情况下,四舍五入到偶数,结果为 2。输出: 2
a = -4.8
result = round(a)
print(result) # 输出: -5
b = 12345
result = round(b, -2)
print(result) # 输出: 12300
abs()
abs() 函数用于返回一个数的绝对值。
# 示例1:返回整数的绝对值
num1 = -10
abs_num1 = abs(num1)
print(abs_num1) # 输出:10
# 示例2:返回浮点数的绝对值
num2 = -3.14
abs_num2 = abs(num2)
print(abs_num2) # 输出:3.14
# 示例3:返回复数的绝对值
num3 = -4 + 3j
abs_num3 = abs(num3)
print(abs_num3) # 输出:5.0
sum()
sum() 函数用于计算可迭代对象中所有元素的总和。可迭代对象可以是列表、元组、集合等。
# 示例1:计算列表中所有元素的总和
list1 = [1, 2, 3, 4, 5]
sum_list1 = sum(list1)
print(sum_list1) # 输出:15
# 示例2:计算元组中所有元素的总和
tuple1 = (10, 20, 30, 40, 50)
sum_tuple1 = sum(tuple1)
print(sum_tuple1) # 输出:150
# 示例3:计算集合中所有元素的总和
set1 = {2, 4, 6, 8, 10}
sum_set1 = sum(set1)
print(sum_set1) # 输出:30
min()
min() 函数用于返回可迭代对象中的最小元素。
# 示例1:返回列表中的最小元素
list1 = [5, 3, 8, 1, 6]
min_list1 = min(list1)
print(min_list1) # 输出:1
# 示例2:返回元组中的最小元素
tuple1 = (10, 20, 5, 15)
min_tuple1 = min(tuple1)
print(min_tuple1) # 输出:5
# 示例3:返回字符串中的最小字符
string1 = "hello"
min_string1 = min(string1)
print(min_string1) # 输出:'e'。字符串的比较是基于字符的 Unicode 编码顺序进行的。
max()
max() 函数用于返回可迭代对象中的最大元素。
# 示例1:返回列表中的最大元素
list1 = [5, 3, 8, 1, 6]
max_list1 = max(list1)
print(max_list1) # 输出:8
# 示例2:返回元组中的最大元素
tuple1 = (10, 20, 5, 15)
max_tuple1 = max(tuple1)
print(max_tuple1) # 输出:20
# 示例3:返回字符串中的最大字符
string1 = "hello"
max_string1 = max(string1)
print(max_string1) # 输出:'o'。 字符串的比较是基于字符的 Unicode 编码顺序进行的。
pow()
pow() 函数用于计算一个数的幂,即求 x 的 y 次方。
# 示例1:计算整数的幂
result1 = pow(2, 3)
print(result1) # 输出:8
# 示例2:计算浮点数的幂
result2 = pow(3.5, 2)
print(result2) # 输出:12.25
# 示例3:计算负数的幂
result3 = pow(-2, 4)
print(result3) # 输出:16
# 示例4:计算复数的幂
result4 = pow(2+3j, 2)
print(result4) # 输出:(-5+12j)
divmod()
divmod() 函数用于同时返回两个数的商和余数,返回的结果是一个包含商和余数的元组。
# 示例1:计算两个整数的商和余数
result1 = divmod(10, 3)
print(result1) # 输出:(3, 1)
# 示例2:计算两个浮点数的商和余数
result2 = divmod(7.5, 2.5)
print(result2) # 输出:(3.0, 0.0)
# 示例3:计算两个负数的商和余数
result3 = divmod(-15, 4)
print(result3) # 输出:(-4, 1)
math 模块
math 模块是 Python 标准库中的一个数学函数库,提供了许多数学函数和常量,用于进行数学运算和计算。
math.sqrt()
math.sqrt() 函数:返回一个数的平方根。
x = 16
result = math.sqrt(x)
print(result) # 输出: 4.0
y = 2.25
result = math.sqrt(y)
print(result) # 输出: 1.5
a = 3
b = 4
c = math.sqrt(a**2 + b**2)
print(c) # 输出: 5.0
math.floor()
math.floor() 函数是 math 模块中的一个函数,用于向下取整,即返回小于或等于给定数值的最大整数。在使用 floor() 函数之前,需要导入 math 模块。
x = 3.7
result = math.floor(x)
print(result) # 输出: 3
y = -4.8
result = math.floor(y)
print(result) # 输出: -5
z = 5
result = math.floor(z)
print(result) # 输出: 5
math.ceil()
math.ceil() 函数是 math 模块中的一个函数,用于向上取整,即返回大于或等于给定数值的最小整数。它的语法为 math.ceil(x),其中 x 是要向上取整的数值。
x = 3.2
result = math.ceil(x)
print(result) # 输出: 4
y = 5
result = math.ceil(y)
print(result) # 输出: 5
z = -2.8
result = math.ceil(z)
print(result) # 输出: -2
a = 10
b = 3
result = math.ceil(a / b)
print(result) # 输出: 4
numbers = [2.5, 4.7, 8.1]
ceil_values = [math.ceil(num) for num in numbers]
print(ceil_values) # 输出: [3, 5, 9]
math.pi
math.pi 是 math 模块中提供的一个常量,表示数学中的圆周率 π,它的值约为 3.141592653589793。可以通过 math.pi 直接获取圆周率的值。
pi_value = math.pi
print(pi_value) # 输出: 3.141592653589793
math.pow()
math.pow() 函数是 math 模块中提供的一个函数,用于计算一个数的指定次幂。它的语法为 math.pow(x, y),其中 x 是底数,y 是指数。math.pow() 函数返回 x 的 y 次幂。
# 计算 2 的 3 次幂:
result = math.pow(2, 3)
print(result) # 输出: 8.0
# 计算 3 的平方:
result = math.pow(3, 2)
print(result) # 输出: 9.0
# 计算 10 的 0 次幂(任何数的 0 次幂均为 1):
result = math.pow(10, 0)
print(result) # 输出: 1.0
# 计算 2 的 0.5 次幂(即开平方):
result = math.pow(2, 0.5)
print(result) # 输出: 1.4142135623730951
# 计算 -2 的 3 次幂:
result = math.pow(-2, 3)
print(result) # 输出: -8.0
math.e
math.e 是math模块中定义的一个常数,表示自然对数的底,也被称为欧拉数。它是一个重要的数学常数,约等于2.71828。在数学和科学计算中经常出现,用于计算指数函数和自然对数等。
import math
print(math.e) # 输出:2.718281828459045
进制转换
bin()
bin() 函数用于将整数转换为二进制表示的字符串。
# 示例1:将整数转换为二进制字符串
num1 = 10
bin_num1 = bin(num1)
print(bin_num1) # 输出:'0b1010'
# 示例2:将负整数转换为二进制字符串
num2 = -5
bin_num2 = bin(num2)
print(bin_num2) # 输出:'-0b101'
# 示例3:将二进制字符串表示的整数转换为二进制字符串
binary_str = "101"
num3 = int(binary_str, 2) # 将二进制字符串转换为整数
bin_num3 = bin(num3)
print(bin_num3) # 输出:'0b101'
oct()
oct() 函数用于将整数转换为八进制表示的字符串。
# 示例1:将整数转换为八进制字符串
num1 = 10
oct_num1 = oct(num1)
print(oct_num1) # 输出:'0o12'
# 示例2:将负整数转换为八进制字符串
num2 = -8
oct_num2 = oct(num2)
print(oct_num2) # 输出:'-0o10'
# 示例3:将八进制字符串表示的整数转换为八进制字符串
oct_str = "17"
num3 = int(oct_str, 8) # 将八进制字符串转换为整数
oct_num3 = oct(num3)
print(oct_num3) # 输出:'0o17'
hex()
hex() 函数用于将整数转换为十六进制表示的字符串。
# 示例1:将整数转换为十六进制字符串
num1 = 16
hex_num1 = hex(num1)
print(hex_num1) # 输出:'0x10'
# 示例2:将负整数转换为十六进制字符串
num2 = -255
hex_num2 = hex(num2)
print(hex_num2) # 输出:'-0xff'
# 示例3:将十六进制字符串表示的整数转换为十六进制字符串
hex_str = "1A"
num3 = int(hex_str, 16) # 将十六进制字符串转换为整数
hex_num3 = hex(num3)
print(hex_num3) # 输出:'0x1a'
format()
format() 函数:通过格式化字符串将一个整数以指定进制表示。
在 Python 中,可以使用格式化字符串的方式来输出不同进制的缩写,常见的进制缩写如下:
二进制:使用 b 表示,如 0b1101
八进制:使用 o 表示,如 0o17
十六进制:使用 x 表示,如 0x1A
num = 10
binary_str = format(num, 'b')
octal_str = format(num, 'o')
hex_str = format(num, 'x')
print(binary_str, octal_str, hex_str) # 输出:1010 12 a
参考文档
https://docs.python.org/zh-cn/3.12/library/stdtypes.html#/numeric-types-int-float-complex