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

一、补充上文

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

number = int('123ab',16)
print(number)

运行结果: 74667

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

二、什么是转义字符

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

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

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

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

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

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

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

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

三、python中的转义字符们

74eacc87cc7a820c7b61d37361bb4b17.png

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

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

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

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

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

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

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

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

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

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

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

#coding:utf-8

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

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

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

运行结果:

/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format3.py 
my name is xiaobian

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

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

#coding:utf-8

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

运行结果:

/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format3.py 
my name is'
        ' xiaobian

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

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

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

1 )通过\n来实现:

#coding:utf-8

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

运行结果:

/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format3.py 
my name 
is xiaobian

进程已结束,退出代码为 0
0d75be55c2f589262711ac60e3625583.png
结果中的name后面有一个空格,和上面的字符串中的name后面的一个空格,保持了高度的统一

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

#coding:utf-8

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

运行结果:

/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format3.py 
my name 
is xiaobian


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

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

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

#coding:utf-8

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

运行结果:

/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format3.py 
my name 
is xiaobian


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

2)\t的用法:

info_2 = 'my name \tis xiaobian'
print(info_2)

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

my name  is xiaobian

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

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

info_2 = 'my name\tis xiaobian'
print(info_2)

运行结果:

my name is xiaobian

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

info_2 = 'my name \n\tis xiaobian'
print(info_2)

运行结果:

my name 
 is xiaobian

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

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

3)\v的用法:

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

info_v = 'my name \vis xiaobian'
print(info_v)

运行结果:

my name is xiaobian

使用terminal终端:

e0e1cda2da70f3cd9e67035715cc293c.png

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

4)\a的用法:

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

info_a = 'my name \ais xiaobian'
print(info_a)

运行结果:

my name is xiaobian

使用terminal终端:

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

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

5)\b的用法:

info_b = 'my name is xiaobian\b'
print(info_b)

运行结果:

my name is xiaobia

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

6)\r的用法:

info_b = 'my name is xiaobian\b'
print(info_b)

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

运行结果:

my name is xiaobia
 my name is xiaobia

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

7)\f的用法:

依然打印不出什么效果:

info_f = 'my name is xiaobian\f'
print('f',info_f)

运行结果:

f my name is xiaobian

使用terminal终端:

3318c9d4f7bc975bcca29233db680744.png

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

8)\'的用法:

print('my name is \'xiaobian\'')

运行结果:

my name is 'xiaobian'

9)\"的用法:

print("my name is \"xiaobian\"")

运行结果:

my name is "xiaobian"

10)\\的用法:

print('my name is \\ xiaobian')

运行结果:

my name is \ xiaobian

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

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清菡软件测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值