【发布时间】:2015-10-07 23:23:51
【问题描述】:
我目前正在学习 python 课程。在谈论转义序列时,他们谈到"\n" 用于在新行中打印字符串。但是当它以下列方式使用时,为什么我会得到不同的输出
>>> st = "Hello\nWorld"
>>> st
'Hello\nWorld'
如果我这样做了
>>> print st
Hello
World
【问题讨论】:
标签: python string python-2.7 python-3.x
我目前正在学习 python 课程。在谈论转义序列时,他们谈到"\n" 用于在新行中打印字符串。但是当它以下列方式使用时,为什么我会得到不同的输出
>>> st = "Hello\nWorld"
>>> st
'Hello\nWorld'
如果我这样做了
>>> print st
Hello
World
【问题讨论】:
标签: python string python-2.7 python-3.x
有两个函数可以提供对象的字符串表示形式,repr() 和 str()。前者旨在将对象转换为as-code字符串,而后者提供用户友好的字符串。
在命令行输入变量名时,使用repr(),\n字符显示为\n(as-code)。当您使用print 时,使用str(),并且\n 显示为新行(用户友好)。
顺便说一句,str 是一个不好的变量名称,因为它与内置变量相同。
【讨论】:
当你这样做时
st
有点类似
"\n"
您期望返回字符串 \n,而不是换行。
在这两种情况下,都不会调用 print 函数,它实际上可以处理 \n 的真正含义。这就是为什么print 'Hello\nWorld' 给出的输出与
>>> 'Hello\nWorld'
【讨论】: