天天看點

Python中字元串格式化三種方法

在嵌入式程式設計過程中,我們可以使用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
           

嵌入式物聯網需要學的東西真的非常多,千萬不要學錯了路線和内容,導緻工資要不上去!

無償分享大家一個資料包,差不多150多G。裡面學習内容、面經、項目都比較新也比較全!某魚上買估計至少要好幾十。

點選這裡找小助理0元領取:加微信領取資料

Python中字元串格式化三種方法
Python中字元串格式化三種方法

标準格式說明符 的一般形式如下:

[[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填充。

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{}格式字元串。

原文連結:https://mp.weixin.qq.com/s/yqzq5vSnuh3erKDXf-GSQw

轉載自:嵌入式微處理器

原文連結:Python中字元串格式化三種方法

本文來源網絡,免費傳達知識,版權歸原作者所有。如涉及作品版權問題,請聯系我進行删除。