Python2/3中字符串的转义字符和print输出不换行
Python2/3中字符串的转义字符和长字符串
代码:
print("HelloWorld")
输出结果为:
HelloWorld
如果我想让Hello和World换行输出,即结果为:
Hello
World
应该怎么办呢?
如果是这样:
print("Hello
World")
则语法错误无法运行。
而如果是这样:
print("Hello"
"World")
虽然代码中换行了,但输出结果仍然是一行:
HelloWorld
有两种解决办法:
一是使用转义字符。
在计算机中,类似换行、后退键等没有现成的字符表示,想表示的话就要用一种特殊的方式。比如使用“\”加上字母“n”组成一个整体“\n”来表示换行、“\”加上字母“b”组成“\b”来表示后退等。类似“\n”“\b”这类字符就叫做转义字符。
常见转义字符如下表所示:
转义字符 | 含义 |
---|---|
\b | 退格(BS),将当前位置移到前一列 |
\n | 换行(LF),将当前位置移到下一行开头 |
\r | 回车(CR),将当前位置移到本行开头 |
\t | 水平制表(HT)(跳到下一个TAB位置) |
\\ | 代表一个反斜线字符\ |
\’ | 代表一个单引号(英文)字符 |
\" | 代表一个双引号(英文)字符 |
需要注意的是第5个,“\”本身,也需要转义,也即想表示“\”需要写成“\\”。
知道了转义,我们的Hello World就能换行了:
print("Hello\nWorld") # print('Hello\nWorld')也可以
二是使用长字符串:
print("""Hello
World""")
或:
print('''Hello
World''')
Python2/3的print输出不换行
代码:
print("Hello")
print("World")
输出结果为:
Hello
World
如果我想让Hello和World在一行,该怎么办呢?
Python3
Python3的print里有一个end,默认是换行的(end=’\n’)。
要想不换行,就需要把end设置为None或空字符。
print("Hello",end=None)
print("World")
或:
print("Hello",end='') # print("Hello",end="")也可以
print("World")
输出结果为:
HelloWorld
不过,不要空格……并不是我们想要的效果呀?
方法很简单,只要把end设为空格就可以了。
print("Hello",end=' ') # print('Hello',end=" ")也可以
print("World")
输出结果为:
Hello World
Python2
Python2的print不能像Python3一样操作,不过只需要在前面加一句:
from __future__ import print_function
就可以用Python3的print的方法来操作了。