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("1111011", 2))
- print(eval("0b1111011"))
- # 十进制转二进制
- print(bin(18))
- print("{0:b}".format(18))
- # 八进制转十进制
- print(int("011", 8))
- print(eval("0o011"))
- # 十进制转八进制
- print(oct(30))
- print("{0:o}".format(30))
- # 十六进制转十进制
- print(int("12", 16))
- print(eval("0x12"))
- # 十进制转十六进制
- print(hex(87))
- print("{0:x}".format(87))
来源: http://www.bubuko.com/infodetail-2660995.html