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

posted @ 2024-03-23 14:31  小吉猫  阅读(16)  评论(0编辑  收藏  举报