详解python中的进制转换函数

  • Post category:Python

在Python中,通常使用以下三个内置函数实现进制转换:

  1. bin():将十进制数转换为二进制数,并返回字符串形式的结果。
  2. oct():将十进制数转换为八进制数,并返回字符串形式的结果。
  3. hex():将十进制数转换为十六进制数,并返回字符串形式的结果。

这三个函数使用方法相似,都接收一个十进制数作为参数,返回一个字符串形式的相应进制数。下面是三个函数的语法:

bin(num)
oct(num)
hex(num)

其中,num是需要转换的十进制数。下面通过实例进一步说明这三个函数的用法:

num = 10

# 二进制转换
bin_num = bin(num)
print(bin_num)  # 输出:0b1010

# 八进制转换
oct_num = oct(num)
print(oct_num)  # 输出:0o12

# 十六进制转换
hex_num = hex(num)
print(hex_num)  # 输出:0xa

在以上示例中,我们定义了一个十进制数num,并通过bin()oct()hex()三个函数将其转换为二进制、八进制、十六进制数,并分别将结果存储在bin_numoct_numhex_num三个变量中。我们可以看到,三个函数的返回结果都是字符串类型,且分别以0b0o0x开头表示二进制、八进制、十六进制数。如果需要去掉前缀,可以使用字符串的切片操作,例如:

num = 10

# 二进制转换
bin_num = bin(num)[2:]
print(bin_num)  # 输出:1010

# 八进制转换
oct_num = oct(num)[2:]
print(oct_num)  # 输出:12

# 十六进制转换
hex_num = hex(num)[2:]
print(hex_num)  # 输出:a

在以上示例中,我们通过字符串的切片操作去掉了每个字符串的前两个字符,以得到我们需要的二进制、八进制、十六进制数。