Python 序列 - 转义字符、字符串格式化表达式

一. 转义序列表示的特殊字符

转义序列 含义
\' 代表一个单引号
\" 代表一个双引号
\\ 代表一个反斜杠
\n 换行
\r 返回光标至首行
\f 换页
\v 垂直制表符
\t 水平制表符
\b 删除一个字符再打印,相当于 Backspace 按键
\0 空字符(字符值为 0)
\0oo oo 代表 2 位 8 进制数,\0oo 代表 2 位 8 进制表示的字符
\xXX XX 代表 2 位 16 进制数,\xXX 代表 2 位 16 进制表示的字符
>>> print("ABCD\rab")
abCD
>>> print("ABCD\bd")
ABCd

备注:Linux命令查看 ASCII 编码表:man ascii

man ascii 部分截图

二. raw 字符串

raw 字符串又被称为原始字符串,支持以下格式:

r'字符串内容'
r"字符串内容"
r'''字符串内容'''
r"""字符串内容"""

raw 字符串之所以被称为原始字符串,是因为他可以使转义 \

>>> print('C:\newfile\test.py')
C:
ewfile  est.py

不使用 raw 字符串时,字符串中出现的 \n\t 均进行了转义,显然于我们预期的结果不符。正确的方式如下:

>>> print(r'C:\newfile\test.py')
C:\newfile\test.py

三. 字符串格式化表达式

字符串格式化运算符 %,用于生成一定格式的字符串。语法如下:

格式字符串   %    参数值
格式字符串   %    (参数值1,参数值2,...)

类型码

下面的表格整理了常见的格式化字符串中的占位符类型码:

占位符 含义
%s 字符串,使用 str 函数转换
%r 字符串,使用 repr 函数转换
%c 整数转换为单个字符
%d 十进制整数
%o 八进制整数
%x 十六进制整数(a - f 小写)
%X 十六进制整数(A - F 大写)
%e 指数型浮点数(e 小写),科学计数法表示
%E 指数型浮点数(E大写),科学计数法表示
%f %F 浮点十进制形式
%g%G 十进制形式浮点数或指数型浮点数
%% 一个 %

示例如下:

>>> ord('中'), ord('国')
(20013, 22269)
>>> "我爱你%c%c!" % (ord('中'), ord('国'))
'我爱你中国!'
>>> "%e" % 0.00000000003
'3.000000e-11'
>>> "%g" % 0.03
'0.03'
>>> "%g" % 0.000000000037865558
'3.78656e-11'
>>> "%d%%" % 30
'30%'

占位符和类型码之间的格式语法

格式字符串中的 % 为占位符,占位符和上文介绍的类型码之间还可以添加以下符号,进行进一步的格式控制。

语法:占位符 [- + 0 宽度.精度] 类型码

符号 含义
- 左对齐(默认为右对齐)
+ 显示正号(如果参数值为负数,减号默认会显示出来)
0 左侧空白位置补 0
宽度 整个数据输入的宽度
精度 保留小数点后多少位(默认是 6 位)

示例如下:

>>> '%10d' % 12308
'     12308'
>>> '%-10d' % 12308
'12308     '
>>> '%10s' % 'python'
'    python'
>>> '%010d' % 12308
'0000012308'
>>> '%-+10d' % 12308
'+12308    '
>>> '%-+10d' % -12308
'-12308    '
>>> '%20.2f' % 12308.12345678909876542
'            12308.12'

你可能感兴趣的:(Python 序列 - 转义字符、字符串格式化表达式)