1、bin() , oct() 或 hex() 进行十进制整数和二进制、八进制或十六进制的字符串的转换。
2、如果不想输出 0b , 0o 或者 0x 的前缀。 可以使用 format() 函数。
二进制 bin()
# 十进制 转 二进制
int_bin = bin(15)
print(int_bin) # '0b1111'
# 八进制 转 二进值
oct_bin = bin(0o17)
print(oct_bin) # '0b1111'
# 十六进制 转 二进值
hex_bin = bin(0xf)
print(hex_bin) # '0b1111'
# 二进制 转 十进制
bin_int1 = int("0b1111", 2)
print(bin_int1) # 15
bin_int2 = int(0b1111)
print(bin_int2) # 15
十六进制 hex()
# 二进制 转 十六进进制
bin_hex = hex(0b1111)
print(bin_hex) # '0xf'
# 八进制 转 十六进进制
oct_hex = hex(0o17)
print(oct_hex) # '0xf'
# 十进制 转 十六进制
int_hex = hex(15)
print(int_hex) # '0xf'
# 十六进制 转 十进制
hex_int1 = int("0xf", 16)
print(hex_int1) # 15
hex_int2 = int(0xf)
print(hex_int2) # 15
八进制 oct()
# 二进制 转 八进制
bin_oct = oct(0b1111)
print(bin_oct) # '0o17'
# 十进制 转 八进制
int_oct = oct(15)
print(int_oct) # '0o17'
# 十进制 转 八进制
hex_oct = oct(0xf)
print(hex_oct) # '0o17'
# 八进制 转 十进制
int1 = int("0o17", 8)
print(int1) # 15
int1 = int(0o17)
print(int1) # 15
format()
format() 函数得到的是没有 0b、0o、0x 等前缀的字符串值。
to_bin = format(15, 'b')
print(to_bin) # '1111'
to_bin = format(0b1111, 'b')
print(to_bin) # '1111'
to_bin = format(0xf, 'b')
print(to_bin) # '1111'
to_bin = format(0o17, 'b')
print(to_bin) # '1111'
to_oct = format(15, 'o')
print(to_oct) # '17'
to_oct = format(0b1111, 'o')
print(to_oct) # '17'
to_oct = format(0xf, 'o')
print(to_oct) # '17'
to_oct = format(0o17, 'o')
print(to_oct) # '17'
to_hex = format(15, 'x')
print(to_hex) # 'f'
to_hex = format(0b1111, 'x')
print(to_hex) # 'f'
to_hex = format(0xf, 'x')
print(to_hex) # 'f'
to_hex = format(0o17, 'x')
print(to_hex) # 'f'
to_int = format(15)
print(to_int) # '15'
to_int = format(0b1111)
print(to_int) # '15'
to_int = format(0xf)
print(to_int) # '15'
to_int = format(0o17)
print(to_int) # '15'