📅  最后修改于: 2023-12-03 15:21:26.302000             🧑  作者: Mango
在编程中,我们经常需要处理一串数字的组合,这里就来介绍一些相关的知识和技巧。
有时候我们需要将一个字符串转为数字进行计算和比较等操作。在 Python 中,可以使用内置函数 int()
将字符串转为整数,例如:
num_str = "123"
num_int = int(num_str)
print(num_int) # 输出 123
如果字符串表示的是浮点数,也可以使用 float()
将其转为浮点数。需要注意的是,如果字符串不是一个有效的数字表示,就会抛出 ValueError
异常。
与字符串转数字相反,有时候我们需要将一个数字转为字符串进行输出等操作。在 Python 中,可以使用内置函数 str()
将数字转为字符串,例如:
num_int = 123
num_str = str(num_int)
print(num_str) # 输出 "123"
如果想要将数字转为指定进制下的字符串,可以使用格式化字符串,例如:
num_int = 255
num_hex_str = f"{num_int:x}"
print(num_hex_str) # 输出 "ff"
这里使用了格式化字符串中的 :x
占位符,表示将该参数按十六进制输出。
在编程中,我们需要经常进行进制转换操作,例如将十进制数转为二进制数、八进制数或十六进制数,或者反过来。在 Python 中,可以使用内置函数 bin()
、oct()
和 hex()
分别将一个十进制数转为二进制数、八进制数和十六进制数的字符串表示,例如:
num_int = 255
num_bin_str = bin(num_int)
num_oct_str = oct(num_int)
num_hex_str = hex(num_int)
print(num_bin_str) # 输出 "0b11111111"
print(num_oct_str) # 输出 "0o377"
print(num_hex_str) # 输出 "0xff"
需要注意的是,这些函数返回的字符串表示中包含进制标识符(0b
、0o
、0x
),可以使用字符串的切片操作去掉。
如果想要将一个二进制数、八进制数或十六进制数转为十进制数,可以使用内置函数 int()
,并指定第二个参数为相应的进制数,例如:
num_bin_str = "0b11111111"
num_oct_str = "0o377"
num_hex_str = "0xff"
num_bin_int = int(num_bin_str, 2)
num_oct_int = int(num_oct_str, 8)
num_hex_int = int(num_hex_str, 16)
print(num_bin_int) # 输出 255
print(num_oct_int) # 输出 255
print(num_hex_int) # 输出 255
假设我们有一个列表或元组,其中包含了一些数字,我们可以使用内置函数 sum()
、max()
和 min()
分别求出这些数字的和、最大值和最小值。例如:
num_list = [1, 2, 3, 4, 5]
num_sum = sum(num_list)
num_max = max(num_list)
num_min = min(num_list)
print(num_sum) # 输出 15
print(num_max) # 输出 5
print(num_min) # 输出 1
Python 中数字类型的官方文档:https://docs.python.org/3/library/numeric.html
Python 中字符串类型的官方文档:https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str