进制转换
Python提供了多个内置函数来帮助实现不同进制之间的转换。这些函数主要包括:
1. bin()
- 将一个整数转换为二进制字符串。
- 返回值以
'0b'
开头,表示这是一个二进制数。
print(bin(10)) # 输出: '0b1010'
2. oct()
- 将一个整数转换为八进制字符串。
- 返回值以
'0o'
开头,表示这是一个八进制数。
print(oct(10)) # 输出: '0o12'
3. hex()
- 将一个整数转换为十六进制字符串。
- 返回值以
'0x'
开头,表示这是一个十六进制数。
print(hex(10)) # 输出: '0xa'
4. int()
int()
函数不仅用于将字符串转换为整数,还可以在转换时指定字符串的基数(进制),支持从二进制、八进制、十进制、十六进制到十进制的转换。- 第一个参数是字符串形式的数字,第二个参数是原数字的基数。
print(int('1010', 2)) # 二进制转十进制,输出: 10
print(int('12', 8)) # 八进制转十进制,输出: 10
print(int('a', 16)) # 十六进制转十进制,输出: 10
使用格式化方法实现进制转换
除了上述函数外,还可以使用Python的字符串格式化方法或f-strings来实现进制转换的输出:
- 二进制:使用格式化字符串
'{:b}'.format(number)
或f-stringf'{number:b}'
。 - 八进制:使用格式化字符串
'{:o}'.format(number)
或f-stringf'{number:o}'
。 - 十六进制:使用格式化字符串
'{:x}'.format(number)
或f-stringf'{number:x}'
。
number = 10
print(f'{number:b}') # 二进制,输出: '1010'
print(f'{number:o}') # 八进制,输出: '12'
print(f'{number:x}') # 十六进制,输出: 'a'
这些方法和函数提供了灵活的方式来在Python中进行进制转换,既可以用于转换输出的格式,也可以用于实现数值的进制转换。