Python 整数类型(int)除了基本算术运算外,还提供以下核心附加方法,适用于底层编程和高级数值处理:
🔢 1. 进制转换方法
| 方法 | 功能 | 示例 |
|---|---|---|
bit_length() |
返回二进制表示位数 |
(1024).bit_length() → 11 |
to_bytes() |
整数转字节序列 |
(255).to_bytes(2, 'big') → b'\x00\xff'
|
from_bytes() |
字节序列转整数(类方法) |
int.from_bytes(b'\x0f', 'big') → 15 |
⚙️ 2. 位操作方法
统计置位数量(1的个数)
print(bin(0b1101).count("1")) 3(需先转字符串)
替代方案:使用位运算算法
🔄 3. 进制表示转换
获取不同进制字符串表示
hex_str = hex(255) '0xff'
oct_str = oct(64) '0o100'
bin_str = bin(42) '0b101010'
📝 4. 类型转换与解析
字符串解析为整数
num = int("FF", base=16) 255(指定16进制)
💡 实用场景示例
-
网络数据传输(大端序编码)
port = 8080 network_data = port.to_bytes(2, 'big') b'\x1f\x90' -
硬件寄存器操作
检查特定位是否置位 register_value = 0b10110010 if register_value & (1 << 3): 检查第3位 print("状态位激活") -
数据压缩存储
将4个0-255数打包为32位整数 packed = (r << 24) | (g << 16) | (b << 8) | a
⚠️ 注意事项
- Python 整数无固定位数限制,位操作时需显式控制字节长度
- 大端序(
big)高位在前,小端序(little)低位在前 - 字节转换时长度不足会触发
OverflowError