Python 中如何把整数转换成字符串?
Python 整数转字符串最常用的方法是 str(),也可以用 f-string、format() 等方法。本文对比各种写法及其适用场景。
最直接的方式是用内置函数 str():str(5) 得到 "5"。在需要拼接输出的场景,更推荐 f-string(Python 3.6+),如 f"{x}",可读性最好。
方法一:str() 函数
x = 5
y = str(x)
print(y) # 输出: 5
print(type(y)) # <class 'str'>
这是语义最明确的转换方式,任何类型都能用 str() 转。
方法二:f-string(推荐用于拼接)
x = 5
msg = f"数量是 {x}"
在字符串里嵌入变量时,f-string 自动完成转换,不需要显式调用 str()。
方法三:str.format()
x = 5
y = "{}".format(x)
老代码里常见,新代码建议直接用 f-string。
拼接时的常见错误
字符串和整数不能直接相加:
"数量" + 5 # TypeError
"数量" + str(5) # 正确
f"数量{5}" # 正确,更简洁
常见问题(FAQ)
Q:str() 和 repr() 转数字有区别吗?
A:对整数来说结果一样。区别在于设计意图:str() 面向用户可读输出,repr() 面向开发者调试(对字符串会带引号)。
Q:能转回整数吗?
A:用 int("5")。注意字符串必须是合法数字,否则抛 ValueError。
Q:进制转换怎么写?
A:bin(x)、oct(x)、hex(x) 分别返回二进制、八进制、十六进制字符串,如 hex(255) 得到 '0xff'。