int(string_num, n) string_num表示某种进制的字符串,n表示string_num是什么进制数
2、8、16 进制转为10进制:使用int()或者eval()
10 进制转为2、8、16进制:使用bin()、oct()、hex() 或者 使用format()
b:二进制,o:八进制,d:十进制,x:十六进制
bin()、oct()、hex()返回值均为字符串,且分别带有0b、0o、0x前缀
hex函数比format函数慢,eval函数比int函数慢
示例:
# 二进制转十进制
print(int("", 2))
print(eval("0b1111011")) # 十进制转二进制
print(bin(18))
print("{0:b}".format(18)) # 八进制转十进制
print(int("", 8))
print(eval("0o011")) # 十进制转八进制
print(oct(30))
print("{0:o}".format(30)) # 十六进制转十进制
print(int("", 16))
print(eval("0x12")) # 十进制转十六进制
print(hex(87))
print("{0:x}".format(87))