在 Python 中,将整数(int)转换为字符串(str)非常简单,主要使用内置的 str() 函数,以下是详细的说明和示例:

(图片来源网络,侵删)
基本方法:str()
这是最直接的方式,适用于所有整数类型。
num = 123 str_num = str(num) print(str_num) # 输出: '123' print(type(str_num)) # 输出: <class 'str'>
格式化字符串(f-string,Python 3.6+)
使用 f-string 可以更灵活地控制格式,同时进行类型转换。
num = 456
str_num = f"{num}"
print(str_num) # 输出: '456'
还可以结合格式化选项(如补零、对齐等):
num = 7
str_num = f"{num:05d}" # 补零到5位宽度
print(str_num) # 输出: '00007'
format() 方法
通过 format() 函数或字符串的 format() 方法实现转换。

(图片来源网络,侵删)
num = 89
str_num = format(num)
print(str_num) # 输出: '89'
# 或使用字符串的format方法
str_num = "{}".format(num)
print(str_num) # 输出: '89'
老式 格式化(Python 2 风格,仍可用但不推荐)
num = 100 str_num = "%d" % num print(str_num) # 输出: '100'
处理不同进制
如果需要将整数转换为其他进制(如二进制、十六进制)的字符串,可以使用 bin()、hex() 或 oct(),然后通过 str() 或 format() 处理。
num = 255 # 二进制 print(str(bin(num))) # 输出: '0b11111111' print(format(num, 'b')) # 输出: '11111111'(不带前缀) # 十六进制 print(str(hex(num))) # 输出: '0xff' print(format(num, 'x')) # 输出: 'ff'(不带前缀) # 八进制 print(str(oct(num))) # 输出: '0o377' print(format(num, 'o')) # 输出: '377'(不带前缀)
注意事项
- 负数:
str()会自动处理负号。print(str(-42)) # 输出: '-42'
- 大整数:Python 的
int可以表示任意大的整数,str()也能正确转换。big_num = 10**100 print(str(big_num)) # 输出: '10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
| 方法 | 示例 | 适用场景 |
|---|---|---|
str() |
str(123) |
最通用,推荐日常使用 |
| f-string | f"{123}" |
需要格式化或嵌入字符串时 |
format() |
format(123) |
需要灵活格式化时 |
| 格式化 | "%d" % 123 |
旧代码兼容(不推荐新项目使用) |
推荐优先使用 str() 或 f-string,代码简洁且可读性高。

(图片来源网络,侵删)
