75 lines
2.2 KiB
Markdown
75 lines
2.2 KiB
Markdown
|
---
|
|||
|
title: Converting Integer to String in Python
|
|||
|
localeTitle: 在Python中将整数转换为字符串
|
|||
|
---
|
|||
|
## 在Python中将整数转换为字符串
|
|||
|
|
|||
|
与许多其他语言不同,Python在与字符串连接时不会隐式地将整数(或浮点数)强制转换为字符串。幸运的是,Python有一个方便的内置函数`str()` ,它将传入的参数转换为字符串格式。
|
|||
|
|
|||
|
#### 错误的方法
|
|||
|
|
|||
|
来自其他语言的程序员可能会尝试执行以下字符串连接,从而产生错误:
|
|||
|
|
|||
|
```py
|
|||
|
age = 18
|
|||
|
|
|||
|
string = "Hello, I am " + age + " years old"
|
|||
|
```
|
|||
|
|
|||
|
[在repl.it上运行代码](https://repl.it/JyYH/0)
|
|||
|
|
|||
|
显示的错误是
|
|||
|
```
|
|||
|
Traceback (most recent call last):
|
|||
|
File "python", line 3, in <module>
|
|||
|
TypeError: must be str, not int
|
|||
|
```
|
|||
|
|
|||
|
`TypeError: must be str, not int`表示必须首先将整数转换为要连接的字符串。
|
|||
|
|
|||
|
#### 正确的方式
|
|||
|
|
|||
|
简单连接示例:
|
|||
|
|
|||
|
```py
|
|||
|
age = 18
|
|||
|
|
|||
|
print("Hello, I am " + str(age) + " years old")
|
|||
|
|
|||
|
# Output
|
|||
|
# Hello, I am 18 years old
|
|||
|
```
|
|||
|
|
|||
|
[在repl.it上运行代码](https://repl.it/Jz8Q/0)
|
|||
|
|
|||
|
使用单个字符串打印`1 2 3 4 5 6 7 8 9 10`
|
|||
|
|
|||
|
```py
|
|||
|
result = ""
|
|||
|
|
|||
|
for i in range(1, 11):
|
|||
|
result += str(i) + " "
|
|||
|
|
|||
|
print(result)
|
|||
|
|
|||
|
# Output
|
|||
|
# 1 2 3 4 5 6 7 8 9 10
|
|||
|
```
|
|||
|
|
|||
|
[在repl.it上运行代码](https://repl.it/KBLB/0)
|
|||
|
|
|||
|
#### 逐行解释上面的代码
|
|||
|
|
|||
|
1. 首先,将变量“result”分配给空字符串。
|
|||
|
2. For循环用于遍历数字列表。
|
|||
|
3. 使用范围功能生成此数字列表。
|
|||
|
4. 所以range(1,11)将生成一个从1到10的数字列表。
|
|||
|
5. 在每个for循环迭代中,这个'i'变量将占用1到10之间的值。
|
|||
|
6. 在变量i = 1的第一次迭代时,则变量\[result = result + str(i)+“(空格字符)”\],str(i)将作为整数值的'i'转换为字符串值。
|
|||
|
7. 由于i = 1,在第一次迭代时最终结果= 1。
|
|||
|
8. 并且相同的过程一直持续到i = 10并且最后在最后一次迭代之后结果= 1 2 3 4 5 6 7 8 9 10。
|
|||
|
9. 因此,当我们最终在for循环后打印结果时,控制台上的输出为'1 2 3 4 5 6 7 8 9 10'。
|
|||
|
|
|||
|
#### 更多信息:
|
|||
|
|
|||
|
[`str()`官方Python文档](https://docs.python.org/3/library/stdtypes.html#str)
|