一篇文章搞懂python的转义字符及用法

作者:bigdata老司机 时间:2022-01-29 17:19:12 

什么是转义字符

转义字符是一个计算机专业词汇。在计算机当中,我们可以写出123 ,也可以写出字母abcd,但有些字符我们无法手动书写,比如我们需要对字符进行换行处理,但不能写出来换行符,当然我们也看不见换行符。像这种情况,我们需要在字符中使用特殊字符时,就需要用到转义字符,在python里用反斜杠\转义字符。

在交互式解释器中,输出的字符串用引号引起来,特殊字符用反斜杠\转义。虽然可能和输入看上去不太一样,但是两个字符串是相等的。

在python里,转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,具体都有哪些转义字符呢,见下表

一篇文章搞懂python的转义字符及用法

python当中,我们定义一个字符串。可以用单引号 ‘…' 或双引号 “…” 标识 。比如s = ‘abcd',或者s = “abcd”,如果我们想在这样的字符串里再写一个单引号呢?比如it's me


>>> s = 'it's me'
>>> s
File "<ipython-input-34-9e8af72c0f6d>", line 1
 s = 'it's me'
     ^
SyntaxError: invalid syntax

如果这样实现,编辑器就会报错,因为这个字符串是用单引号括起来的,若果中间又出现一个单引号,到底三个单引号中哪两个单引号构成一个字符串呢?这里面就出现了歧义,而计算机最怕的就是歧义。为了解决这种情况,我们就需要用到转义字符了。

上述语句加上转义字符就是


>>> s = 'it\'s me'
>>> s
"it's me"

上述是单引号,双引号同理:


>>> s = "使用\"创建字符串"
>>> s
'使用"创建字符串'

当然有些情况下不用转义字符也可以实现我们的需求,比如字符串中只有单引号而没有双引号,就用双引号引用,否则用单引号引用。举例如下:


>>> s = "it's me"
>>> s
"it's me"

>>> s = '使用"创建字符串'
>>> s
'使用"创建字符串'

但还是推荐使用转义字符,转义字符更具有通用性,也不需要我们去判断字符串中是否只有单引号或者双引号。

另外print() 函数会生成可读性更好的输出, 它会省去引号并且打印出转义后的特殊字符。见下边:


>>> s = '"Isn\'t a student." she said.'
>>> s
'"Isn\'t a student." she said.'
>>> print(s)
"Isn't a student." she said.

>>> s = 'First line.\nSecond line.' # \n means newline
>>> s # without print(), \n is included in the output
'First line.\nSecond line.'
>>> print(s) # with print(), \n produces a new line
First line.
Second line.

如果要在字符串里使用 \ ,即使得字符串中的\用作普通字符,那么就需要字符\本身也要转义,我们用\\表示,\\表示的字符就是\


>>> s = "换行符是\\n。"
>>> print(s)
换行符是\n。

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许在字符串前加r,表示内部的字符串默认不转义,见下边:


>>> s = r"换行符是\n。"
>>> print(s)
换行符是\n。

来源:https://blog.csdn.net/yawei_liu1688/article/details/108364192

标签:python,转义字符
0
投稿

猜你喜欢

  • Python生成随机数的方法详解(最全)

    2023-05-04 12:36:08
  • 浅析python中的迭代与迭代对象

    2023-11-19 09:21:35
  • 浅谈numpy数组中冒号和负号的含义

    2023-09-02 01:03:04
  • 浅谈python中str字符串和unicode对象字符串的拼接问题

    2022-03-27 22:00:32
  • 浅析Python中线程以及线程阻塞

    2022-03-06 22:14:23
  • Python入门之集合的使用教程

    2022-10-31 13:44:45
  • 详解用python自制微信机器人,定时发送天气预报

    2023-05-12 14:27:29
  • 也谈javascript程序优化问题

    2008-10-29 11:30:00
  • python 中的9个实用技巧,助你提高开发效率

    2021-05-01 08:26:25
  • Django+Bootstrap实现计算器的示例代码

    2022-08-10 02:42:01
  • Tensorflow自定义模型与训练超详细讲解

    2023-09-19 10:18:00
  • flask开启多线程的具体方法

    2023-03-10 06:30:50
  • python实现sm2和sm4国密(国家商用密码)算法的示例

    2021-11-17 08:02:13
  • Python3实现的反转单链表算法示例

    2021-09-22 01:33:30
  • 表格艺术经典回顾

    2013-07-14 11:11:04
  • Flask项目中实现短信验证码和邮箱验证码功能

    2022-02-24 00:12:58
  • ​​​​​​​如何利用python破解zip加密文件

    2022-11-27 17:51:30
  • 编写Smarty插件在模板中直接加载数据的详细介绍

    2023-11-15 09:14:47
  • python3 爬取图片的实例代码

    2021-08-22 13:37:57
  • MySQL在命名用过程中所遇到的常见问题

    2008-12-05 16:03:00
  • asp之家 网络编程 m.aspxhome.com