前述
在嵌入式编程过程中,我们可以使用Python辅助我们编程,特别是验证一些算法上特别好使。所以Python中的基本知识需要了解一些,剩下的就可以交给百度,Ctrl+C,Ctrl+V,不然网上复制代码都复制不明白。
接下来我们一块学习下Python字符串格式化的三种方式。
字符串格式化的几种方式
第一种:%s
% 运算符(求余符)也可用于字符串格式化。给定 'string' % values,则 string 中的 % 实例会以零个或多个 values 元素替换。如果是多个值,请用()
括起来。
print('%s,%s %s' % ("Hi,", "Hello", "World"))
Terminal:
Hi,,Hello World
第二种:format
字符串格式化的第二种方法,字符串format()方法。格式:str.format(). 这里写个示例,字符串格式化可以使用索引也可以使用关键字的形式。
print("{1}, {0} {world}".format("Hello","hi", world="World"))
Terminal:
hi, Hello World
第三种:f-字符串
格式化字符串字面值(简称为 f-字符串
)在字符串前加前缀 f 或 F,通过 {expression} 表达式,把 Python 表达式的值添加到字符串内。
下面看一个简单的例子
import math
print(f"圆周率近似值为: {math.pi:.8f}")
Terminal:
圆周率近似值为: 3.14159265
标准格式说明符 的一般形式如下:
[[fill]align][sign][#][0][width][grouping_option]>> [.precision][type]
属性 | 选项 |
---|---|
fill | any character |
align | "<" ">" "=" "^" |
sign | "+" "-" " " |
width | digit+ |
grouping_option | "_" "," |
precision | digit+ |
type | "b" "c" "d" "e" "E" "f" "F" "g" "G" "n" "o" "s" "x" "X" "%" |
fill-填充
如果指定了一个有效的 align 值,则可以在该值前面加一个 fill 字符,它可以为任意字符,如果省略则默认为空格符。
align-对齐方式
选项 | 含义 |
---|---|
< | 强制字段在可用空间内左对齐(这是大多数对象的默认值) |
> | 强制字段在可用空间内右对齐(这是数字的默认值) |
= | 强制在符号(如果有)之后数码之前放置填充。这被用于以 '+000000120' 形式打印字段。这个对齐选项仅对数字类型有效。这是当 '0' 紧接在字段宽度之前时的默认选项 |
^ | 强制字段在可用空间内居中 |
注意,只有定义了最小字段宽度,对齐选项才有意义,如下示例。
import math
print(f"圆周率近似值为: {math.pi:*^.8f}")
print(f"圆周率近似值为: {math.pi:*^30.8f}")
Terminal:
圆周率近似值为: 3.14159265
圆周率近似值为: **********3.14159265**********
*
是填充字符,^
表示居中对齐,30
指的是最小字段宽度,.8f
是让小数点后保留8位有效数字:
sign-符号
选项 | 含义 |
---|---|
+ | 表示标志应该用于正数和负数。 |
- | 表示标志应仅用于负数(这是默认行为)。 |
space | 表示应在正数上使用前导空格,在负数上使用减号 |
看下面的示例:
print(f"{3.14:+},{-3.14:+},{3.14:-},{-3.14:-},{3.14: },{-3.14: }")
Terminal:
+3.14,-3.14,3.14,-3.14, 3.14,-3.14
'#'
'#' 选项可让“替代形式”被用于执行转换。替代形式会针对不同的类型分别定义。此选项仅适用于整数、浮点数和复数类型。对于整数类型,当使用二进制、八进制或十六进制输出时,此选项会为输出值分别添加相应的 '0b', '0o', '0x' 或 '0X' 前缀.
下面例子是将整数12分别以二进制、八进制、十进制以及十六进制输出。
print(f"{12:#b}, {12:#o}, {12:#d}, {12:#x}")
Terminal:
0b1100, 0o14, 12, 0xc
0
如果指定了显示宽度,则剩余部分的长度用0填充。
print(f"{123456789:030}")
Terminal:
000000000000000000000123456789
grouping_option
对浮点表示类型和整数表示类型,使用 ,
或者_
作为千位分隔符。
print(f"{123456789:,}, {123456789:_}")
Terminal:
123,456,789, 123_456_789
width
width 是一个定义最小总字段宽度的十进制整数,包括任何前缀、分隔符和其他格式化字符。如果未指定,则字段宽度将由内容确定。在说对齐方式的时候有过例子。
precision
precision 是一个十进制整数,它表示对于以表示类型 'f' 和 'F' 格式化的数值应当在小数点后显示多少个数位, 对于字符串表示类型,该字段表示最大的字段大小。在说对齐方式属性的时候也有例子。
type
就是常规的一些数据类型,二进制、十进制以及浮点型数据类型等...
最后
官方还推荐使用f{}格式字符串。
END
-
编程
+关注
关注
88文章
3614浏览量
93697 -
python
+关注
关注
56文章
4793浏览量
84632 -
嵌入式编程
+关注
关注
0文章
27浏览量
10305
发布评论请先 登录
相关推荐
评论