一. 转义序列表示的特殊字符
转义序列 | 含义 |
---|---|
\' | 代表一个单引号 |
\" | 代表一个双引号 |
\\ | 代表一个反斜杠 |
\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
二. 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'