安迪Python

V1

2022/08/16阅读:24主题:默认主题

12. 转义字符及print函数的参数

12. 转义字符及print函数的参数

1. 什么是转义字符

转义字符,就是通过改变字符原本的含义,达到在字符串中插入某些特殊字符或实现某些特殊功能的作用。

【部分特殊字符】

  1. 在字符串中插入引号。
  2. 在字符串中插入反斜杠。

【部分特殊功能】

  1. 退格
  2. 换行
  3. 回车

2. 转义字符语法

转义字符由2部分组成:

1.\反斜杠
2.具有转义功能的首字母

【反斜杠的输入】

1.键盘-反斜杠
1.键盘-反斜杠

【具有转义功能的字符】

2.转义字符
2.转义字符

【备注】图片来源于风变编程。

3. \' 表示输入引号

在print( )输出函数语法讲解中,我们说过如果输出的内容里含有单引号',则print( )函数括号内必须使用双引号或三引号。

# 输出内容Let's 里有单引号,print()函数里还用单引号,程序就会报错
print('Let's go home!')

【终端输出】

    print('Let's go home!')
               ^
SyntaxError: invalid syntax

运行程序后提示invalid syntax即无效语法。

invalid[ɪnˈvælɪd]:无效的,不成立的。
syntax [ˈsɪntæks]:语句、语法。

# 输出的内容Let's里有单引号可以使用双引号输出
print("Let's go home!")

【终端输出】

Let's go home!
# 输出的内容Let's里有单引号可以使用三引号输出
print('''Let's go home!''')

【终端输出】

Let's go home!

三引号是三个单引号,不可以输入一个单引号加一个双引号。

除了使用双引号、三引号我们也可以利用转义字符\'实现单引号的输入。

【代码示例】

print('Let\'s go home!')

【终端输出】

Let's go home!
3.转义字符语法
3.转义字符语法

通过一个反斜杠+单引号就可以实现在字符串中直接输入一个单引号。

4. \n 表示换行

n是newline的首字母。

newline[n'ju:laɪn]:新行。

【代码示例】

print("张三李四")

【终端输出】

张三李四

上述代码中没有\n,因此输出的张三李四在同一行。

print("张三\n李四")

【终端输出】

张三
李四

张三后加一个\n,意思是\n后面的内容另起一行。
因此李四在第二行。

print("张三\n李四\n王五")

【终端输出】

张三
李四
王五

\n的作用就是开始新的一行。

print("张三")
print("李四")

【终端输出】

张三
李四

4.1 print函数的参数

print(value, …, sep=' ', end='\n', file=sys.stdout, flush=False)

一个完整的print()函数其实有5个参数:

1. value:要输出的值,可以是字符串、整数、浮点数等各种类型的变量。

print(520)

【终端输出】

520

520就是要输出的值。

2. ... 值列表,表示可以一次性打印多个值,值与值直接用英文逗号分隔,打印出来的值之间默认用空格隔开。

print(2020,8,14)

【终端输出】

2020 8 14

这里一次性输出了3个值。
代码中20208之间用英文逗号分隔,814之间用英文逗号分隔。
输出的结果中20208之间有一个空格,814之间有一个空格。

3. sep 表示值与值之间的分隔符,默认是一个空格,也可以自己设置成其他的分隔符。

【不设置sep参数,则默认空格】

print(2020,8,14)

【终端输出】

2020 8 14

没有设置sep参数,因此输出的三个值之间默认以空格分隔。

【设置sep参数为英文冒号】

print(2020,8,14,sep = ":")

【终端输出】

2020:8:14

设置sep参数为英文冒号,因此输出的三个值之间以英文冒号分隔。

【设置sep参数为英文感叹号】

print(2020,8,14,sep = "!")

【终端输出】

2020!8!14

设置sep参数为英文感叹号,因此输出的三个值之间以英文感叹号分隔。

【温馨提示】分隔符前后必须有引号,否则程序报错。

【错误示例】

print(2020,8,14,sep = /)

【终端输出】

    print(2020,8,14,sep = /)
                          ^
SyntaxError: invalid syntax

sep = /中的/前后没有引号,程序报错!

invalid syntax:无效语法。

invalid [ɪnˈvælɪd]:无效的。
syntax [ˈsɪntæks]:语法。

4. end 设定输出语句以什么结尾,默认是换行符\n结尾,即输出后会重新起一行。

【默认换行】

print("张三")
print("李四")

【终端输出】

张三
李四

这是我们最常用的,用print连续实现多个输出。
第二个输出李四之所以会在第二行,是因为每个print函数都默认以end='\n'结尾,即以换行结尾。

【修改end参数】

print("张三",end="R")
print("李四",end="!")

【终端输出】

张三R李四!

这里我修改了第一个print函数的end参数为R,因此第二个输出李四不会在第二行,而是紧跟在R之后;
修改了第二个print函数的end参数为!,因此第二个输出李四后会紧跟一个!

print("张三","\n")
print("李四")

【终端输出】

张三 

李四

这里我又添加了一个\n,观察输出结果,张三李四之间多了一个空行。
\n的作用是新起一行,类似回车的作用。
第一个print函数默认有end='\n',已经有一个换行了,在多加一个'\n',就有2个换行,因此张三李四之间多出了一个空行。

print("张三\n")
print("李四")

【终端输出】

张三

李四

观察上述代码,这里的张三是字符串类型,
"\n"放在引号里,也是字符串类型,
字符串之间可以进行拼接,
因此也可以不写中间的引号,把字符串张三\n直接放在一个引号里。

5. file 表示要输出的目标对象,后面学到再讲解。

6. flush 表示是否立刻将输出语句输出到目标对象。默认flush = False,表示输出值会保存在缓存中。当flush=True时,输出值强制写入文件。不用掌握,先了解即可。

5. \b 表示退格

print("张三\b李四\b王五")

【终端输出】

张李王五

\b表示往前退一格,即删除前一个字符。
运行上述代码,程序删除了字符

b是backspace的首字母。

backspace [ˈbakspeɪs]:退格键。

6. 课堂练习

运行下面的代码,观察输出结果,想一想李四王五前为什么会有一个空格?

print("张三",'\n','李四','\n','王五')

【终端输出】

张三 
 李四 
 王五

上述代码中的'\n'实现了换行的功能。
但我们没有设置print函数的sep参数,因此值与值之间默认会有一个空格作为分隔符。

设置sep参数,取消输出结果李四王五前的空格:

【参考答案】

print("张三",'\n','李四','\n','王五',sep = "")

【终端输出】

张三
李四
王五

答案很简单,我们只需要将sep参数即值之间的间隔设置为空即可。
输入一个sep,然后输入一个=等于符号,再输入一对引号即可,注意引号中不能输入空格。

7. 总结

4.转义字符及print函数的参数
4.转义字符及print函数的参数

分类:

后端

标签:

Python

作者介绍

安迪Python
V1