`print`将哪些内容解释为空格?

4
完整的空白字符列表是什么,print如何解释这些字符?
我需要真正理解Python中print语句的工作原理。到目前为止,一切都有点奇怪,但有一个细节我搞不清楚:
在Python的参考手册第6.6章中写道:
当最后一个写入标准输出的字符是空格字符(除了' ')时,......
我知道这种情况下最常见的空白符是'\n',但我需要知道其他的空白符。

也许你需要这个:import string;print repr(string.whitespace) - Ashwini Chaudhary
我建议尝试找到一种不需要使用print语句语义中那个晦涩部分的解决方案。例如,将各种子字符串连接成一个完全可控的输出字符串。或者尝试使用from __future__ import print_function进行前向兼容的方法(它始终在其参数之间包括其sep参数,即使它们以空格结尾)。 - Blckknght
@Blckknght,我完全同意。但是,我必须精确地复制print语句的行为。并不是我鼓励任何人依赖它。 - Stefan
我相信这就是print函数中所谓的“软空格”特性,在Python3中已被移除。 - Bakuriu
1个回答

2
在CPython中,它可能是所有isspace()返回true的字符,即:
  • \f(换页符)
  • \n(换行符)
  • \r(回车符)
  • \t(水平制表符)
  • \v(垂直制表符)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接