admin管理员组

文章数量:1794759

python全栈开发《32.什么是转义字符、转义字符们》

一、补充上文

python全栈开发《31.format形式也是支持格式符号的》

代码语言:javascript代码运行次数:0运行复制
number = int('123ab',16)
print(number)

运行结果: 74667

就是把'123ab'这个字符串以16进制转成数字(16是int这个函数的参数,代表字符串转成数字的规则),再通过int函数把这个16进制的数字转换成10进制的数字。然后print打印出来结果。

二、什么是转义字符

平时操作电脑,用word输入文字的时候,如果要换行或者要后退的时候,都可以通过键盘上指定的按键来帮助我们完成操作。

但是对于开发的时候,书写一个字符串,希望字符串进行换行等操作的时候,这些按键并不能帮助我们完成这些操作。

除非使用三引号的字符串。但是绝大多数的工作中并不使用这个字符串。

所以为了解决这个问题,python自己创造了一些特殊的字符。

通过使用这些特殊的字符,来指定一些特殊的功能。比如回车、换行、后退等操作。

  • 1)将特定的字符转换成键盘可操作的其它含义的功能,就是转义字符。

python中的转义字符类似于格式化的格式符一样,都有自己的标准格式。

  • 2)通过\+字符,就是特殊字符的语法格式。

三、python中的转义字符们

\n:换行的转义字符。一般用于末尾,本身可以用在字符串的任何位置。它放在哪里,字符串就会从哪里进行换行。

如果它放在末尾的话,当我们使用字符串的内置函数strip的时候,也会对\n符号有效。

\t:学名是横向制表符。通俗的说,就是一个间隔符。如果说普通的空格是占一个长度的位置,\t就是占用多个空格长度的符号。

\v:是纵向制表符。平时使用的频率是比较低的。通过print打印的时候,会输出一个男性符号。

\a:响铃符号。当输入\a,电脑真的会发出响声。

\b:是退格符。将光标前移,覆盖(删除前一个)。

\r:回车(回车就是换行),一般用\n代替。

\f:代表翻页的意思。直接输入\f之后,字符串中会出现一个女性的符号。

\':输入这个之后,即便字符串用单引号来包裹,内部也可以使用单引号来包裹内置的字符串。

\\:如果斜杠在字符串中不表示特殊符号使用,只需要使用\\,这个时候就可以成功得输出一个单斜杠了。

1.没办法不通过特殊字符来让一个字符串进行换行:

代码语言:javascript代码运行次数:0运行复制
#coding:utf-8

info = ('my name is'
        ' xiaobian')
print(info)

如何让在is之后的位置进行换行呢?

如果不使用换行符,直接回车,这个时候pycharm自动在整个字符串的左右打出(),它是可以帮助多行字符串拼接在一起的方法。

运行结果:

代码语言:javascript代码运行次数:0运行复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format3.py 
my name is xiaobian

进程已结束,退出代码为 0

2.使用三引号的形式,的确是换行了:

代码语言:javascript代码运行次数:0运行复制
#coding:utf-8

info = ('''my name is'
        ' xiaobian''')
print(info)

运行结果:

代码语言:javascript代码运行次数:0运行复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format3.py 
my name is'
        ' xiaobian

进程已结束,退出代码为 0

在平时的工作中不会使用这种三引号的方式。

那么必须使用特殊符号来帮助我们来完成这个任务。

1 )通过\n来实现:

代码语言:javascript代码运行次数:0运行复制
#coding:utf-8

info = ('my name \nis xiaobian')
print(info)

运行结果:

代码语言:javascript代码运行次数:0运行复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format3.py 
my name 
is xiaobian

进程已结束,退出代码为 0

结果中的name后面有一个空格,和上面的字符串中的name后面的一个空格,保持了高度的统一

1.1)如果在xiaobian后面打一个\n:

代码语言:javascript代码运行次数:0运行复制
#coding:utf-8

info = ('my name \nis xiaobian\n')
print(info)

运行结果:

代码语言:javascript代码运行次数:0运行复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format3.py 
my name 
is xiaobian


进程已结束,退出代码为 0

那么xiaobian之后肯定也会换行。

1.2)通过格式化的形式配合特殊字符:

代码语言:javascript代码运行次数:0运行复制
#coding:utf-8

info = ('my name \nis %s\n' % 'xiaobian')
print(info)

运行结果:

代码语言:javascript代码运行次数:0运行复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format3.py 
my name 
is xiaobian


进程已结束,退出代码为 0

2)\t的用法:

代码语言:javascript代码运行次数:0运行复制
info_2 = 'my name \tis xiaobian'
print(info_2)

运行结果:is和name之间有很多个空格。

代码语言:javascript代码运行次数:0运行复制
my name  is xiaobian

如果想要\t成为多个空格的效果,\t前面需要有一个空格。

2.1)去掉\t前面的空格,\t左右都没有空格了。这个时候\t就变成一个普通的空格:

代码语言:javascript代码运行次数:0运行复制
info_2 = 'my name\tis xiaobian'
print(info_2)

运行结果:

代码语言:javascript代码运行次数:0运行复制
my name is xiaobian

2.3)或者可以跟\n进行配合:

代码语言:javascript代码运行次数:0运行复制
info_2 = 'my name \n\tis xiaobian'
print(info_2)

运行结果:

代码语言:javascript代码运行次数:0运行复制
my name 
 is xiaobian

进程已结束,退出代码为 0

这样就可以另起一行和有多个间隔符(这里指的是空格)的存在了。

3)\v的用法:

在代码中打印,没有任何效果:

代码语言:javascript代码运行次数:0运行复制
info_v = 'my name \vis xiaobian'
print(info_v)

运行结果:

代码语言:javascript代码运行次数:0运行复制
my name is xiaobian

使用terminal终端:

在另外一些解释器下,\v可能就展示男性的符号了。不同的环境,得到的效果是不一样的。

4)\a的用法:

在代码中打印,没有任何效果:

代码语言:javascript代码运行次数:0运行复制
info_a = 'my name \ais xiaobian'
print(info_a)

运行结果:

代码语言:javascript代码运行次数:0运行复制
my name is xiaobian

使用terminal终端:

听到“咚”一声的响声。不同的电脑,听到的声音效果不一样。

这就说明很多的转义字符,在python脚本里并不能很好得体现出效果。只能在调试模式下才能展示出来。所以在平时的工作中,有一些转义字符就使用不上了。

5)\b的用法:

代码语言:javascript代码运行次数:0运行复制
info_b = 'my name is xiaobian\b'
print(info_b)

运行结果:

代码语言:javascript代码运行次数:0运行复制
my name is xiaobia

通过\b,xiaobian的最后一个字符n被抹去了。它就如同删除符号一样。

6)\r的用法:

代码语言:javascript代码运行次数:0运行复制
info_b = 'my name is xiaobian\b'
print(info_b)

info_r = 'my name is xiaobian\r'
print(1,info_r,info_b)

运行结果:

代码语言:javascript代码运行次数:0运行复制
my name is xiaobia
 my name is xiaobia

\r不仅仅是一个换行,它还会把整行的字符串整个抹去。只要在\r前面的字符信息,都会被删除,然后换行。

7)\f的用法:

依然打印不出什么效果:

代码语言:javascript代码运行次数:0运行复制
info_f = 'my name is xiaobian\f'
print('f',info_f)

运行结果:

代码语言:javascript代码运行次数:0运行复制
f my name is xiaobian 

使用terminal终端:

依然没有效果,只是底下多了一行空行。所以在不同的解释器下,像某些特殊的符号,它的效果是不一样的。

8)\'的用法:

代码语言:javascript代码运行次数:0运行复制
print('my name is \'xiaobian\'')

运行结果:

代码语言:javascript代码运行次数:0运行复制
my name is 'xiaobian'

9)\"的用法:

代码语言:javascript代码运行次数:0运行复制
print("my name is \"xiaobian\"")

运行结果:

代码语言:javascript代码运行次数:0运行复制
my name is "xiaobian"

10)\\的用法:

代码语言:javascript代码运行次数:0运行复制
print('my name is \\ xiaobian')

运行结果:

代码语言:javascript代码运行次数:0运行复制
my name is \ xiaobian

使用的是\\,展示的是\,说明右边的这个\已经不再是一个特殊的字符了,而是一个普通的\。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2024-08-26,如有侵权请联系 cloudcommunity@tencent 删除全栈字符串python进程开发

本文标签: python全栈开发《32什么是转义字符转义字符们》