Python进制转换
Python 中的 int
和 hex
:进制转换详解
在 Python 中,int
和 hex
是两个常用的函数,分别用于处理整数和进制转换。本文将详细介绍它们的功能、区别以及如何结合使用。
1. int
函数
int
函数用于将其他类型的数据(如字符串、浮点数等)转换为 十进制整数。
语法
int(x, base=10)
x
:需要转换的值(字符串、浮点数等)。base
:进制(默认为 10,支持 2 到 36 进制)。
功能
- 将字符串(如二进制、八进制、十六进制)转换为十进制整数。
- 将浮点数截断为整数。
- 处理布尔值(
True
->1
,False
->0
)。
示例
>>> int("10") # 字符串转十进制
10
>>> int("1010", 2) # 二进制转十进制
10
>>> int("A", 16) # 十六进制转十进制
10
>>> int(3.14) # 浮点数转整数
3
2. hex
函数
hex
函数用于将 整数 转换为 十六进制字符串。
语法
hex(x)
x
:需要转换的整数。
功能
- 将十进制整数转换为十六进制表示。
- 输出的字符串以
0x
开头,表示十六进制。
示例
>>> hex(10) # 十进制转十六进制
'0xa'
>>> hex(255) # 十进制转十六进制
'0xff'
3. int
和 hex
的区别
特性 | int | hex |
---|---|---|
功能 | 将其他类型转换为十进制整数 | 将整数转换为十六进制字符串 |
输入类型 | 字符串、浮点数、布尔值等 | 整数 |
输出类型 | 整数 | 字符串(以 0x 开头) |
进制支持 | 支持 2 到 36 进制 | 仅支持十进制到十六进制转换 |
典型用途 | 进制转换、类型转换 | 格式化输出十六进制值 |
4. int
和 hex
的结合使用
int
和 hex
可以结合使用,实现进制之间的灵活转换。以下是两个常见场景:
场景 1:十六进制字符串 -> 十进制整数 -> 十六进制字符串
# 十六进制字符串 -> 十进制整数 -> 十六进制字符串
>>> hex_number = "A"
>>> decimal_number = int(hex_number, 16) # 十六进制转十进制
>>> hex(decimal_number) # 十进制转十六进制
'0xa'
场景 2:十进制整数 -> 十六进制字符串 -> 十进制整数
# 十进制整数 -> 十六进制字符串 -> 十进制整数
>>> decimal_number = 255
>>> hex_number = hex(decimal_number) # 十进制转十六进制
>>> int(hex_number, 16) # 十六进制转十进制
255
5. 实际应用示例
假设我们需要将十六进制字符串 "400000"
转换为十进制,然后再转换回十六进制:
# 十六进制字符串 -> 十进制整数
>>> hex_number = "400000"
>>> decimal_number = int(hex_number, 16)
>>> print(decimal_number) # 输出十进制结果
4194304
# 十进制整数 -> 十六进制字符串
>>> hex(decimal_number) # 输出十六进制结果
'0x400000'
6. 总结
int
:用于将其他类型(如字符串、浮点数)转换为十进制整数,支持多种进制。hex
:用于将十进制整数转换为十六进制字符串,输出格式为0x
开头。- 结合使用:
int
和hex
可以结合使用,实现灵活的进制转换。
通过掌握 int
和 hex
的用法,你可以轻松处理各种进制转换问题!希望这篇文章对你有帮助,欢迎在评论区讨论!
如果你觉得这篇文章有用,欢迎点赞、收藏和分享!
Reference: Python3 数据类型转换