为什么 sys.stdout.write 输出意外字符?

Go *_*ond 4 python stdout python-3.x

from sys import stdin, stdout
temp=1
stdout.write(str(temp))
Run Code Online (Sandbox Code Playgroud)

我期望输出为 1 但它是 11 。为什么?

Aso*_*cia 6

>>> 导入系统
>>> 帮助(sys.stdout.write)

内置函数写的帮助:

_io.TextIOWrapper 实例的 write(text, /) 方法
    将字符串写入流。
    返回写入的字符数(始终等于
    字符串的长度)

第一个"1"是您提供给的参数,write第二个"1"是由write.

>>> sys.stdout.write("你好")
你好5

请注意,返回值出现在输出中,因为这是一个交互式会话。如果您从.py文件中运行此代码,您只会看到"Hello",如您所料。