最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?f-string實現(xiàn)高效字符串格式化

 更新時間:2025年05月22日 10:10:28   作者:金色旭光  
f-string,稱為格式化字符串常量(formatted?string?literals),是Python3.6新引入的一種字符串格式化方法,本篇主要講解f-string常見的使用方法,希望對大家有所幫助

f-string,稱為格式化字符串常量(formatted string literals),是Python3.6新引入的一種字符串格式化方法,該方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加簡便。

python中常用有3種字符串格式化的方法:

  • 占位符 例如 print("my name is " % "hanmeimei")
  • format 例如 print("my name is {}".format("hanmeimei"))
  • f-string 例如 print(f"my name is {'hanmeimei'}")

其中f-string是推薦的最清晰,效率最高的方法。本篇主要講解f-string常見的使用方法。

1.語法

f-string采用content:format} 設置字符串格式,其中 content 是替換并填入字符串的內容,可以是變量、表達式、函數(shù)等,format 是格式描述符,可以省略。

Python f-string 格式化字符串的完整格式說明是通過冒號(:)后面的格式規(guī)范符來實現(xiàn)的。這個格式化規(guī)范符可以用來控制數(shù)字、字符串、時間日期等數(shù)據(jù)類型的輸出格式。以下是完整的格式說明,包括常見的格式化選項及其用法。

f"{expression:{flags}{width}{precision}{type}}"
  • expression: 要格式化的值(例如數(shù)字、字符串等)。
  • flags: 用于指定填充方式、對齊方式等。
  • width: 輸出的最小寬度。如果輸出的值寬度小于指定的寬度,則會進行填充。
  • precision: 用于控制浮動點數(shù)的小數(shù)點精度或其他數(shù)值精度。
  • type: 用于指定格式類型,例如浮動點數(shù)、整數(shù)、字符串等。

簡單使用

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

>>> name = 'Eric'
>>> f'Hello, my name is {name}'
'Hello, my name is Eric'

>>> number = 7
>>> f'My lucky number is {number}'
'My lucky number is 7'

>>> price = 19.99
>>> f'The price of this book is {price}'
'The price of this book is 19.99'

注意:不管變量的類型是什么,最后都會得到字符串類型的結果

2.使用方法

2.1 寬度控制

使用f-string最常見的就是控制變量精度和輸出寬度

格式描述符含義與作用
width整數(shù) width 指定寬度0width:整數(shù) width 指定寬度,開頭的 0 指定高位用 0 補足寬度
width.precision整數(shù) width 指定寬度,整數(shù) precision 指定顯示精度

以圓點為分割,圓點之前控制輸出寬度,原點之后控制輸出精度。

控制輸出寬度,不管是數(shù)值類型和字符串類型都可以。語法:f"{變量: 寬度}"

  • 指定寬度小于變量寬度:正常輸出
  • 指定寬度大于變量寬度:輸出指定寬度,以空格補齊。字符串右補齊,數(shù)值左補齊
>>> a = 3.1415926
# 變量寬度9,指定寬度20,數(shù)值左補齊
>>> print(f"{a:20}")
           3.1415926
>>> print(len(f"{a:20}"))
20


>>> c = "hello world"

>>> print(f"{c:5}")
hello world

>>> print(f"{c:25}")
hello world          

# 變量只有11個字符串,指定寬度為25,輸出長度為25,以空格補齊
>>> print(len(f"{c:25}"))
25

有一個特別使用f"{變量: 0寬度}",在寬度前面加0可以實現(xiàn)變量顯示前面用0補齊

>>> a = 3.1415926

>>> print(f"{a:020}")
000000000003.1415926
>>> 

2.2 精度控制

數(shù)值

整型和浮點數(shù)使用f-string可以控制輸出的精度。語法是 f"{變量: .4f}",其中4f是指小數(shù)點后的位數(shù),可以實現(xiàn)精度截斷或擴充。其中截斷的規(guī)則是四舍五入,擴充是將精度增加到指定位數(shù)

>>> a = 3.1415926

>>> print(f"{a:.4f}")
3.1416

>>> b = 100

>>> print(f"")
'100'

>>> print(f"{b:.6f}")
'100.000000'
>>> 

字符串

字符串同樣可以控制輸出精度,使用語法** f"{變量:.4s}"**, 其中4s指字符串的長度,s可以省略,可以實現(xiàn)截斷,但不會填充。設置的長度大于變量長度,輸出仍然是變量的長度。

>>> c = "hello world"

>>> print(f"{c:.2}")
he

>>> print(f"{c:.10s}")
hello worl
    
>>> print(f"{c:.5s}")
hello

# 精度超出長度不會填充
>>> print(f"{c:.20s}")
hello world

>>> print(len(f"{c:.20s}"))
11

可以同時控制寬度和精度

>>> a = 3.1415926
>>> print(f"{a:14.4f}")
        3.1416

>>> c = "hello world"
>>> print(f"{c:25.4s}")
hell 

2.3 對齊

對齊是指輸出時當指定寬度大于變量寬度時如何顯示,可以選擇的包括:

  • >: 右對齊
  • <: 左對齊 (默認行為)
  • ^: 居中對齊
>>> c = "hello world"

# 設置寬度之后就會出現(xiàn)空格填充,字符串默認右填充即左對齊
>>> print(f"{c:20}")
hello world         

>>> print(len(f"{c:20}"))
20

>>> print(f"{c:<20}")
hello world         
>>> 

>>> print(f"{c:>20}")
         hello world

>>> print(f"{c:^20}")
    hello world     

2.4 填充

在對齊時默認使用空格填充,也可以使用指定字符填充。使用語法 **f"{變量: 填充字符<寬度}" **,填充字符常見:-、+、*、0等等

>>> c = "hello world"

>>> print(f"{c:<20}")
hello world         

>>> print(f"{c:-<20}")
hello world---------

>>> print(f"{c:->20}")
---------hello world
>>> 
>>> print(f"{c:-^20}")
----hello world-----

>>> print(f"{c:*^20}")
****hello world*****

>>> print(f"{c:0^20}")
0000hello world00000

2.5 數(shù)據(jù)格式

類型標識符 (type) 類型標識符決定了如何表示和格式化數(shù)值、字符串等常見數(shù)據(jù)類型。常見的類型標識符包括:

  • s: 字符串。
  • b: 二進制整數(shù)格式
  • d: 十進制整數(shù)(整數(shù))
  • o: 八進制整數(shù)格式
  • x: 十六進制小寫。
  • X: 十六進制大寫。
  • c: 字符格式,按unicode編碼將整數(shù)轉換為對應字符
  • f: 浮動點數(shù)(默認的浮動點數(shù))。
  • e: 科學計數(shù)法表示浮動點數(shù)。
  • g: 科學計數(shù)法或浮動點數(shù)(根據(jù)精度選擇合適格式)。
  • %: 百分比格式,將浮動點數(shù)乘以 100 并附加 % 符號。

數(shù)值轉十進制

>>> value = 0xff
>>> value
255
>>> print(f"{value:d}")
255

進制轉換

>>> a = 378297640000
>>> 

# 10轉2
>>> print(f"{a:b}")
101100000010100010010111110010001000000

# 10轉8
>>> print(f"{a:d}")
378297640000

# 10轉16
>>> print(f"{a:x}")
58144be440

默認不添加進制的前綴,使用# 可以添加

>>> a = 378297640000

>>> print(f"{a:#b}")
0b101100000010100010010111110010001000000

>>> print(f"{a:#d}")
378297640000

>>> print(f"{a:#x}")
0x58144be440

>>> print(f"{a:#X}")
0X58144BE440

變量轉浮點數(shù)

>>> value = 0xff

???????>>> print(f"{value:f}")
255.000000
>>> 

將整數(shù)轉換為unicode編碼對應字符

>>> a = 69
>>> print(f"{a:c}")
E
>>> a = 290
>>> print(f"{a:c}")
?
>>> a = 2736
>>> print(f"{a:c}")
?

科學計數(shù)法

>>> a = 378297640000
>>> 
>>> print(f"{a:e}")
3.782976e+11

>>> b = -0.132465
>>> 
>>> print(f"{b:e}")
-1.324650e-01

百分號

將浮動點數(shù)乘以 100 并附加 % 符號

>>> a = 0.5473
>>> print(f"{a:%}")
54.730000%

2.6 時間格式

fstring 以通過結合 datetime 模塊來實現(xiàn)時間的格式化。更多格式可自行查閱。

>>> from datetime import datetime
>>> 
>>> now = datetime.now()
>>> 
>>> now
datetime.datetime(2025, 5, 15, 17, 42, 6, 490934)
>>> formatted_time = f"{now:%Y-%m-%d %H:%M:%S}"
>>> print(formatted_time)
2025-05-15 17:42:06
>>> 

3.綜合使用

浮點數(shù)填充到20位中間對齊保留2位小數(shù)點

>>> a = 3.1415926

???????>>> print(f"{a:-^20.2f}")
--------3.14--------

整數(shù)填充到30位右對齊轉換成十六進制

>>> a = 378297640000

???????>>> print(f"{a:+>30x}")
++++++++++++++++++++58144be440

以上就是Python f-string實現(xiàn)高效字符串格式化的詳細內容,更多關于Python f-string字符串格式化的資料請關注腳本之家其它相關文章!

相關文章

  • Python之requests高級用法詳解

    Python之requests高級用法詳解

    這篇文章主要介紹了Python之requests高級用法詳解,http協(xié)議是無狀態(tài)的,?服務器無法區(qū)分多個請求是否來自同一個人,因此需要用cookie來進行標識,一般如果需要登錄才能訪問的網(wǎng)站就需要發(fā)送cookie信息,需要的朋友可以參考下
    2023-10-10
  • 詳解Python如何向PPT中批量插入圖片

    詳解Python如何向PPT中批量插入圖片

    辦公自動化辦公中,Python最大的優(yōu)勢是可以批量操作,省去了用戶粘貼、復制、插入等繁瑣的操作,本文我們就來探索一下批量插入圖片到PPT的三種辦法吧
    2024-11-11
  • Tensorflow中的placeholder和feed_dict的使用

    Tensorflow中的placeholder和feed_dict的使用

    這篇文章主要介紹了Tensorflow中的placeholder和feed_dict的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • python獲取各操作系統(tǒng)硬件信息的方法

    python獲取各操作系統(tǒng)硬件信息的方法

    這篇文章主要介紹了python獲取各操作系統(tǒng)硬件信息的方法,實例分析了Python在windows、Linux及Mac等操作系統(tǒng)上獲取CPU信息的相關技巧,需要的朋友可以參考下
    2015-06-06
  • Python之文字轉圖片方法

    Python之文字轉圖片方法

    今天小編就為大家分享一篇Python之文字轉圖片方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python實現(xiàn) 多進程導入CSV數(shù)據(jù)到 MySQL

    Python實現(xiàn) 多進程導入CSV數(shù)據(jù)到 MySQL

    本文給大家分享的是使用python實現(xiàn)多進程導入CSV文件數(shù)據(jù)到MySQL的思路方法以及具體的代碼分享,有相同需求的小伙伴可以參考下
    2017-02-02
  • tensorflow獲取預訓練模型某層參數(shù)并賦值到當前網(wǎng)絡指定層方式

    tensorflow獲取預訓練模型某層參數(shù)并賦值到當前網(wǎng)絡指定層方式

    今天小編就為大家分享一篇tensorflow獲取預訓練模型某層參數(shù)并賦值到當前網(wǎng)絡指定層方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python全棧之線程詳解

    Python全棧之線程詳解

    這篇文章主要為大家介紹了Python全棧之線程,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • python中單下劃線與雙下劃線的區(qū)別及說明

    python中單下劃線與雙下劃線的區(qū)別及說明

    這篇文章主要介紹了python中單下劃線與雙下劃線的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python WebSockets 庫從基礎到實戰(zhàn)使用舉例

    Python WebSockets 庫從基礎到實戰(zhàn)使用舉例

    WebSocket是一種全雙工、持久化的網(wǎng)絡通信協(xié)議,適用于需要低延遲的應用,如實時聊天、股票行情推送、在線協(xié)作、多人游戲等,本文給大家介紹Python WebSockets庫從基礎到實戰(zhàn)使用舉例,感興趣的朋友一起看看吧
    2025-08-08

最新評論

宿迁市| 奎屯市| 南木林县| 信阳市| 灵宝市| 朝阳市| 新和县| 定陶县| 民和| 宁远县| 交城县| 类乌齐县| 榆林市| 长宁县| 徐汇区| 自贡市| 双城市| 敦煌市| 金山区| 贵定县| 忻州市| 会昌县| 赫章县| 天峻县| 文登市| 日土县| 安溪县| 乡城县| 普安县| 温泉县| 皮山县| 新源县| 黄骅市| 仙游县| 治县。| 石渠县| 麟游县| 塘沽区| 伊宁县| 湟中县| 田东县|