Python中的多行字符串及转义字符(第4节)


1、Python中的多行字符串

在Python中,如果想输出多行字符串,我们可以使用"""三个双引号或'''三个单引号把字符串括起来。每行结尾都会被自动加上一个换行符,如果不想输出换行符,可以在每行的最后加入“\”来避免输出换行符。例如:

动手练一练:

print('''
Hello
World
!
''')

print("""
Hello\
World\
!
""")

执行以上代码,输出结果为:

Hello
World
!

HelloWorld!

上面例子中第一个函数print()里面输出每一行字符串会自动换行,第二个函数print()里面结尾添加“\”后,输出都没有换行。

2、Python中的转义字符

除了使用三个引号表示多行字符串,还有另一种方法实现换行,就是使用转义字符“\n”,例如:

动手练一练:

print("你好,\n欢迎使用,\nPyhint编辑器")

执行以上代码,输出结果为:

你好
欢迎使用
Pyhint编辑器

上面例子中“\n”是转义字符,Python会识别字符串中的“\n”转义字符并自动转换成换行符。转义字符顾名思义就是把字符串当中字符原本的意思给转变为新的意思,那怎么转呢?肯定是有工具的,这个工具就是反斜杠“\”,当反斜杠“\”加上特殊字母就会变成转义字符,常见的转义字符有:

\n:表示换行符

\t:表示制表符

\r:表示回车符

\b:表示退格符

\f:表示换页符

\\:表示“\”反斜杠本身

\':表示单引号

\":表示双引号

例如,下面的代码演示了如何使用转义字符,动手练一练:

print("Hello\nWorld")
# 输出:Hello
#       World

print("Hello\tWorld")  # 输出:Hello   World

print("Hello\rWorld"
# 输出:Hello
#       World

print("C:\\Users\\")   # “\\”表示反斜杠本身“\”,输出:C:\Users\

print('What\'s your name ?')  # 输出:What's your name ?

print("Do you like \"Python\" ?")  # 输出:Do you like "Python" ?

如果不希望字符被“\”转义,可以在字符串引号前面加上一个“r”字母,例如:

动手练一练:

print("E:\new")

print("-------这是虚线-------")

print(r"E:\new")

执行以上代码,输出结果为:

E:
ew
-------这是虚线-------
E:\new

上面的例子中,Python会识别字符串中“\n”转义字符,并自动转换成换行符,在引号前面加“r”后,默认字符串里面的内容不转义。

Python中可以使用加号“+”来连接字符串或变量,使用星号“*”来重复字符串。

动手练一练:

a = 'Hello'
b = 'World'
print(2*a+b)     # 输出“HelloHelloWorld”
print(2*'Like'+'Python')      # 输出“LikeLikePython”
print('Pyhint''Pyhint''Pyhint')     # 输出“PyhintPyhintPyhint”

执行以上代码,输出结果为:

HelloHelloWorld
LikeLikePython
PyhintPyhintPyhint

注意上面的例子中第一个函数print()里面的2*a代表重复两个a变量,第二个函数print()里面的2*"Like"代表重复两个"Like"字符串,第三个函数print()里面的两个或者多个字符串相邻,Python解释器会自动合并字符串, 注意这只适合在两个字符串或者多个字符串之间,不能用在字符串和变量之间,如果你想连接一个变量和一个字符串,请使用“+”操作符。

动手练一练:

a = 'Hello'
print(a 'World')  # 输出 语法错误

执行以上代码,输出结果为:

SyntaxError: invalid syntax

动手练一练:

a = 'Hello'
print(a+'World')  # 输出 HelloWorld

执行以上代码,输出结果为:

HelloWorld

上面第一个例子中,一个变量和一个字符串相互连接没有使用“+”操作符,Python解释器会输出语法错误。