Python 转义序列
来源:互联网 发布:货运单打印软件 编辑:程序博客网 时间:2024/06/16 23:51
简述
在字符串中,有时需要包含一些特殊的符号,但是有些符号不能直接输出,就需要使用转义序列。
关于转义,维基百科这样定义:
转义是当由于技术等原因、无法直接在代码中写出所要的字符时采用的,以多个字符的有序组合来表示原本需要的字符的手段,而转义序列(escape sequence)指在转义时使用的有序字符组合。
- 简述
- 转义序列
- 原始字符串
版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820
转义序列
作为一名伟大的程序员,在向别人介绍自己的职业时,往往会很自豪的说:Hi, "I'm a Pythoner"
。如果要在 Python 中表示这句话,不能直接使用单引号或双引号。
>>> print('Hi, "I'm a Pythoner"')...SyntaxError: invalid syntax>>> >>> print("Hi, "I'm a Pythoner"")...SyntaxError: invalid syntax
要解决这个问题,有两种方式:
- 使用三重引号
- 使用转义序列
转义序列以反斜杠(\
)开头,并以不同的方式解释。如果使用单引号来表示字符串,那么字符串内的所有单引号都必须转义,双引号也不例外。
>>> print('''Hi, "I'm a Pythoner"''') # 使用三重引号Hi, "I'm a Pythoner">>> >>> print('Hi, "I\'m a Pythoner"') # 转义单引号Hi, "I'm a Pythoner">>> >>> print("Hi, \"I'm a Pythoner\"") # 转义双引号Hi, "I'm a Pythoner"
以下是 Python 支持的所有转义序列的列表:
\(行尾)
续行符 \\
反斜杠 \'
单引号 \"
双引号 \a
响铃 \b
退格(Backspace) \f
换页 \n
换行 \r
回车 \t
水平制表符 \v
垂直制表符 \ooo
值为八进制 ooo 的字符 \xhh
值为十六进制 hh 的字符测试其中的转义序列,感受一下实际的意思:
>>> print('C:\\Windows\\System32')C:\Windows\System32>>> >>> print('I like \nPython')I like Python>>> >>> print('This is \x48\x45\x58')This is HEX
原始字符串
原始字符串(Raw String),简单理解就是:字符串中的每个字符都表示原始含义。
有时,可能希望忽略字符串中的转义序列:
>>> print('This is \x48\x45\x58')This is HEX
遗憾的是,这里的反斜杠并不是原始符号的含义,而是和后面的字符一起表示十六进制(被转义了)。
如何避免呢?很 easy,为字符串加上前缀 r 或者 R(大小写均可):
>>> print(r'This is \x48\x45\x58')This is \x48\x45\x58
R 是 Raw 的缩写,以其开头的字符串被称作原始字符串,并将反斜杠视为原义字符。因此,其中的任何转义序列都不会被特别处理,将会被忽略。
1 1
- Python 转义序列
- Python 转义序列
- 转义序列
- JavaScript转义序列/转义字符
- java中的转义序列
- C中的转义序列
- C# 转义字符序列
- HTML中的转义序列
- 转义字符序列
- C转义序列
- 字符转义序列
- JavaScript的转义序列
- char中的转义序列
- C转义序列
- C语言-转义序列
- C++ 中的转义序列
- Java 转义序列
- C++中的转义序列
- 前端调用微信支付接口
- C++11中容器相关特性
- poj1523
- Android打电话的三种方式
- Android环境变量
- Python 转义序列
- 微信公众号首次关注自动回复图文消息
- RxAndroid的使用
- [torch]Getting the Output of a Layer
- readline使用示例
- Java集合-Collection
- 安装python
- goldendict下优质词典简介及安装
- nginx配置Proxy Cache缓存的12个指令