python 字符串格式化(.format,f-string)


字符串類型格式化采用format()方法,基本使用格式是:

<模板字符串>.format(<逗號分隔的參數>)

2. 1 格式控制信息

format()方法中<模板字符串>的槽除了包括參數序號,還可以包括格式控制信息。此時,槽的內部樣式如下:

{<參數序號>: <格式控制標記>} # 中間使用了一個冒號哦!

其中,<格式控制標記>用來控制參數顯示時的格式,包括:<填充><對齊><寬度><,><.精度><類型>6 個字段,這些字段都是可選的,可以組合使用

1)<填充>
指<寬度>內除了參數外的字符采用什么方式表示,默認采用空格,可以通過<填充>更換。

(2)<對齊>
指參數在<寬度>內輸出時的對齊方式,分別使用<、>和^三個符號表示左對齊、右對齊和居中對齊。

(3)<寬度>
指當前槽的設定輸出字符寬度,如果該槽對應的format()參數長度比<寬度>設定值大,則使用參數實際長度。如果該值的實際位數小於指定寬度,則位數將被默認以空格字符補充。

 

(4)逗號(,)
<格式控制標記>中逗號(,)用於顯示數字的千位分隔符,例如:

 

(5)<.精度>   # 注意:前面有一個小數點哦!
表示兩個含義,由小數點(.)開頭。對於浮點數,精度表示小數部分輸出的有效位數。對於字符串,精度表示輸出的最大長度。

 

(6)<類型>
表示輸出整數和浮點數類型的格式規則。對於整數類型,輸出格式包括6 種:

b: 輸出整數的二進制方式;
c: 輸出整數對應的 Unicode 字符;
d: 輸出整數的十進制方式;
o: 輸出整數的八進制方式;
x: 輸出整數的小寫十六進制方式;
X: 輸出整數的大寫十六進制方式;

 

對於浮點數類型,輸出格式包括4 種:
e: 輸出浮點數對應的小寫字母 e 的指數形式;
E: 輸出浮點數對應的大寫字母 E 的指數形式;
f: 輸出浮點數的標准浮點形式;
%: 輸出浮點數的百分形式。
浮點數輸出時盡量使用<.精度>表示小數部分的寬度,有助於更好控制輸出格式。

 

 

f-string,亦稱為格式化字符串常量(formatted string literals),是Python3.6新引入的一種字符串格式化方法,該方法源於PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加簡便。f-string在形式上是以 f 或 F 修飾符引領的字符串(f'xxx'或 F'xxx'),以大括號 {} 標明被替換的字段;f-string在本質上並不是字符串常量,而是一個在運行時運算求值的表達式

f-string在功能方面不遜於傳統的%-formatting語句str.format()函數,同時性能又優於二者,且使用起來也更加簡潔明了,因此對於Python3.6及以后的版本,推薦使用f-string進行字符串格式化。

1、f-string用大括號 {} 表示被替換字段,其中直接填入替換內容:

 

2、如何格式化一個表達式

 

 

3、如何用f-string設定浮點數精度

F-string可以像str.format那樣格式化浮點數。想要實現這一點,你需要加一個 :(冒號)再加一個 .(英文句號)然后跟着小數點位數最后以f結尾。

 

4、如何將一個數字格式化為百分數

 

5、如何調整或者增加 f-string 的縮進

你可以便捷的通過 <  或者  >  還有 ^ 符號來調整字符串縮進。

 

6、如何格式化千分位

甚至可以一次性同時搞定既有千分位分隔符又有精度設定的浮點數。

 
        

 

7、如何在字符串前補零

可以用{expr:0len} 這個方法來進行字符串補零。len是最終返回字符串的長度。還可以增加一個正負號標記。在這種情況下,用+則無論數值為正負數都將顯示相應正負號。用-則只有當數值為負數時才顯示負號,默認設定也是如此。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM