Python 当我写字符串时,为什么这个for循环会产生数字?

Python 当我写字符串时,为什么这个for循环会产生数字?,python,python-3.x,for-loop,Python,Python 3.x,For Loop,关于将字符串写入文件的for循环,我有一个问题: >>> n=15 >>> for i in range (n): ... outfile.write(str(i)+' '+str(i*i)+'\n') ... 4 4 4 4 5 5 5 5 5 5 7 7 7 7 7 为什么我会得到这些数字?在交互式解释器模式下,Python将回显所有非None的表达式语句结果 这里,数字是所有outfile.write(…)调用的返回值。假设outfile是

关于将字符串写入文件的
for
循环,我有一个问题:

>>> n=15
>>> for i in range (n):
...    outfile.write(str(i)+' '+str(i*i)+'\n')
...
4
4  
4
4
5 
5
5
5
5
5
7
7
7
7
7

为什么我会得到这些数字?

在交互式解释器模式下,Python将回显所有非
None
的表达式语句结果

这里,数字是所有
outfile.write(…)
调用的返回值。假设
outfile
是以文本模式打开的文件,则返回写入的字符数

例如,写入的第一行是
'0\n'
,它是4个字符,如
'11\n'
'24\n'
'39\n'
,之后为
'4 16\n'
写入5个字符

如果不想看到这些数字,请将
.write()
方法的返回值指定给变量。这里的变量是什么并不重要;赋值语句不是表达式语句,因此无需回显:

>>> for i in range (n):
...    written = outfile.write(str(i)+' '+str(i*i)+'\n')
...
>>>

在交互式解释器模式下,Python将回显所有非
None
的表达式语句结果

这里,数字是所有
outfile.write(…)
调用的返回值。假设
outfile
是以文本模式打开的文件,则返回写入的字符数

例如,写入的第一行是
'0\n'
,它是4个字符,如
'11\n'
'24\n'
'39\n'
,之后为
'4 16\n'
写入5个字符

如果不想看到这些数字,请将
.write()
方法的返回值指定给变量。这里的变量是什么并不重要;赋值语句不是表达式语句,因此无需回显:

>>> for i in range (n):
...    written = outfile.write(str(i)+' '+str(i*i)+'\n')
...
>>>

这只是控制台中的表示。如果将值存储到变量并检查其类型,您将看到它确实是一个字符串。这只是控制台中的表示形式。如果将值存储到变量并检查其类型,您将看到它确实是一个字符串。