在python中使用print语句,在写入对象之前写入一个空格,除非

时间:2016-06-19 01:37:43

标签: python

From the docs

  

在每个对象(转换和)写入之前写入空格,除非输出系统认为它位于行的开头。这种情况是(1)当没有字符写入标准输出时,(2)当写入标准输出的最后一个字符是除''之外的空白字符时,或(3)当标准输出上的最后一次写操作是不是印刷声明。

但我不明白(2)的意思......

  

当写入标准输出的最后一个字符是除''

之外的空白字符时

1 个答案:

答案 0 :(得分:1)

它们表示除ASCII空格字符U + 0020 SPACE之外的任何whitespace character(即,当您按下典型美国键盘上的空格键时创建的字符)。特别是,这包括回车,换行(按下回车键时可以创建其中一个或两个,具体取决于您的操作系统),水平和垂直标签,以及(可能)各种非ASCII字符多年来,Unicode联盟已经认为适合创建,但是你不太可能在野外"除非您去寻找它们或允许最终用户为您提供任意数据。

由于您尚未说明这是Python 2还是Python 3,因此我不清楚系统是否有足够的信息在打印时识别这些非ASCII字符。例如,如果您使用的是Python 2和8位字符串,则系统不知道您使用的是哪种编码,并且可能无法处理任何不严格遵循ASCII的内容。