前述
在嵌入式編程過程中,我們可以使用Python輔助我們編程,特別是驗證一些算法上特別好使。所以Python中的基本知識需要了解一些,剩下的就可以交給百度,Ctrl+C,Ctrl+V,不然網(wǎng)上復(fù)制代碼都復(fù)制不明白。
接下來我們一塊學(xué)習(xí)下Python字符串格式化的三種方式。
字符串格式化的幾種方式
第一種:%s
% 運算符(求余符)也可用于字符串格式化。給定 'string' % values,則 string 中的 % 實例會以零個或多個 values 元素替換。如果是多個值,請用()
括起來。
print('%s,%s %s' % ("Hi,", "Hello", "World"))
Terminal:
Hi,,Hello World
第二種:format
字符串格式化的第二種方法,字符串format()方法。格式:str.format(). 這里寫個示例,字符串格式化可以使用索引也可以使用關(guān)鍵字的形式。
print("{1}, {0} {world}".format("Hello","hi", world="World"))
Terminal:
hi, Hello World
第三種:f-字符串
格式化字符串字面值(簡稱為 f-字符串
)在字符串前加前綴 f 或 F,通過 {expression} 表達式,把 Python 表達式的值添加到字符串內(nèi)。
下面看一個簡單的例子
import math
print(f"圓周率近似值為: {math.pi:.8f}")
Terminal:
圓周率近似值為: 3.14159265
標(biāo)準(zhǔn)格式說明符 的一般形式如下:
[[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 字符,它可以為任意字符,如果省略則默認(rèn)為空格符。
align-對齊方式
選項 | 含義 |
---|---|
< | 強制字段在可用空間內(nèi)左對齊(這是大多數(shù)對象的默認(rèn)值) |
> | 強制字段在可用空間內(nèi)右對齊(這是數(shù)字的默認(rèn)值) |
= | 強制在符號(如果有)之后數(shù)碼之前放置填充。這被用于以 '+000000120' 形式打印字段。這個對齊選項僅對數(shù)字類型有效。這是當(dāng) '0' 緊接在字段寬度之前時的默認(rèn)選項 |
^ | 強制字段在可用空間內(nèi)居中 |
注意,只有定義了最小字段寬度,對齊選項才有意義,如下示例。
import math
print(f"圓周率近似值為: {math.pi:*^.8f}")
print(f"圓周率近似值為: {math.pi:*^30.8f}")
Terminal:
圓周率近似值為: 3.14159265
圓周率近似值為: **********3.14159265**********
*
是填充字符,^
表示居中對齊,30
指的是最小字段寬度,.8f
是讓小數(shù)點后保留8位有效數(shù)字:
sign-符號
選項 | 含義 |
---|---|
+ | 表示標(biāo)志應(yīng)該用于正數(shù)和負(fù)數(shù)。 |
- | 表示標(biāo)志應(yīng)僅用于負(fù)數(shù)(這是默認(rèn)行為)。 |
space | 表示應(yīng)在正數(shù)上使用前導(dǎo)空格,在負(fù)數(shù)上使用減號 |
看下面的示例:
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
'#'
'#' 選項可讓“替代形式”被用于執(zhí)行轉(zhuǎn)換。替代形式會針對不同的類型分別定義。此選項僅適用于整數(shù)、浮點數(shù)和復(fù)數(shù)類型。對于整數(shù)類型,當(dāng)使用二進制、八進制或十六進制輸出時,此選項會為輸出值分別添加相應(yīng)的 '0b', '0o', '0x' 或 '0X' 前綴.
下面例子是將整數(shù)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
對浮點表示類型和整數(shù)表示類型,使用 ,
或者_
作為千位分隔符。
print(f"{123456789:,}, {123456789:_}")
Terminal:
123,456,789, 123_456_789
width
width 是一個定義最小總字段寬度的十進制整數(shù),包括任何前綴、分隔符和其他格式化字符。如果未指定,則字段寬度將由內(nèi)容確定。在說對齊方式的時候有過例子。
precision
precision 是一個十進制整數(shù),它表示對于以表示類型 'f' 和 'F' 格式化的數(shù)值應(yīng)當(dāng)在小數(shù)點后顯示多少個數(shù)位, 對于字符串表示類型,該字段表示最大的字段大小。在說對齊方式屬性的時候也有例子。
type
就是常規(guī)的一些數(shù)據(jù)類型,二進制、十進制以及浮點型數(shù)據(jù)類型等...
最后
官方還推薦使用f{}格式字符串。
END
-
編程
+關(guān)注
關(guān)注
88文章
3595瀏覽量
93602 -
python
+關(guān)注
關(guān)注
56文章
4782瀏覽量
84463 -
嵌入式編程
+關(guān)注
關(guān)注
0文章
27瀏覽量
10299
發(fā)布評論請先 登錄
相關(guān)推薦
評論