Python中的字符串字面值和格式字符串字面值
2021-03-15 00:39
阅读:2722
字符串字面值
stringliteral ::= [前缀]'strings'
- 前缀包括:r, u, R, U, f, F, fr, Fr, fR, FR, rf, rF, Rf, RF。其中r或R表示原始字符串
- ''单引号可用双引号或三引号替代
- 当前缀为r时,不会对strings内容中的反斜杠(\)进行转义,也不会处理换行符,转义符本身,引号等,代码块物理显示什么形式,最终就显示什么形式
- 前缀f或F表示格式字符串,见下
- 转义序列:\newline 忽略反斜杠与换行符,即显示拼接 丨 \\反斜杠 丨 \' 丨\''丨\a ASCII响铃丨\b ASCII退格符丨\f ASCII换页符丨\n ASCII换行符丨\r ASCII回车符 丨\t ASCII水平制表符 丨\v ASCII垂直制表符丨\ooo 八进制ooo字符丨\xhh十六进制hh字符丨\n{name}Unicode数据库中名为name的字符丨\uxxxx 16位十六进制xxxx码位的字符丨\Uxxxxxxxx 32位16进制数xxxxxxxx码位的字符
- 以空格分割的多个字符串或字节串字面值,等于合并操作,包括带r前缀的字面值
格式字符串字面值
f'this is strings {variableName !r}'丨f'this is strings {variableName: fomat_spec}'
格式规格format_spec
format_spec ::= [[fill]align][sign][#][0][width][grouping_option][.precision][type]
- [[fill]align] 对齐(当没有指定宽度或者指定宽度小于实际宽度时,对齐没有意义)
- [fill] 任何字符,指定宽度时,以之填充
- < 强制左对齐
- > 强制右对齐
- = 强制将填充放在符号(如果有)之后但在数字之前,仅对数字类型有效
- ^ 强制居中
- [0][width] width前加0,为数字类型添加前导0,相当于[fill]为0,[align]为=
- [grouping_option] ‘,’表示使用逗号作为千位分隔符,'_'表示对浮点数和'd'type的整数用_作为千位分隔符,而对于类型 'b', 'o', 'x' 和 'X'的整数,将为每 4 个数位插入一个下划线
- type 类型
- 用于字符串
- s 字符串格式,默认类型,可以省略
- None和s一样
- 用于整数
- b 二进制格式
- c 字符。打印之前将整数转化为unicode字符
- d 十进制整数
- o 八进制格式
- x丨X 十六进制格式
- n 和d相似
- None和d相同
- 用于浮点数
- f丨F 浮点数
- e丨E 科学计数法
- % 百分比
- g 常规格式。精度>=1
{{commentTotal}} 条评论
{{item.nickname}}
{{item.create_date}}
{{item.content}}
- 上拉或点击加载更多 -
- 加载中 -
- 没有更多了 -