百分之九十的人不知道?在Python中f-string的几个技巧
f-string想必很多Python用戶都基礎性的使用過,作為Python3.6版本開始引入的特性,通過它我們可以更加方便地向字符串中嵌入自定義內容,但f-string真正蘊含的功能遠比大多數用戶知道的要豐富,今天我們就來一起get它們~
最基礎用法
f-string最基礎的用法很簡單,如下例所示,在前綴f的字符串中向{}內直接填入要嵌入的值、變量或計算表達式:
print(f'1+1 = {2}') #輸出:1+1 = 2a=1 + 1 print(f'1+1 = {a}') #輸出:1+1 = 2print(f'1+1 = {1+1}') #輸出:1+1 = 2自記錄表達式
從Python3.8版本開始,為f-string引入了自記錄表達式,使得我們可以按照下面的寫法快速輸出一些計算表達式:
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import math a = 8 print(f'{math. log(8) = }')#輸出:math. log(8) = 2.0794415416798357多行f-string
通過最外層包裹小括號,我們可以像下面這樣非常靈活地撰寫多行f-string:
a = 1 b = 2 c = 3 s = (f'{a = }\n'f'{b = }\n'f'{c = }\n' ) print(s)#輸出: a = 1 b = 2 c = 3在f-string中格式化日期
針對日期類型的變量,我們可以參考下面的方式,直接在f-string中快速地進行格式化:
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import datetime now = datetime.datetime.now() print(f'{now:%Y年%m月%d號%H點%M分%S秒}')#輸出: 2021年10月18號16點45分58秒控制浮點數精度
在f-string中我們可以按照下列方式靈活地控制浮點數的小數位數:
import math pi = math.pi print(f'{pi: .3f}') print(f'{pi:.8f}')#輸出 3.142 3.14159265標準化顯示寬度
當我們需要對f-string打印內容的顯示最小寬度進行限制時,譬如打印出類似表格的結構,可以參考下面的例子:
for x in range(1,11):print(f'{x:02}|{x**2:3}/{x**5:6}')#輸出 01| 1/ 1 02| 4/ 32 03| 9/ 243 04| 16/ 1024 05| 25/ 3125 06| 36/ 7776 07| 49/ 16807 08| 64/ 32768 09| 81/ 59049 10|100/100000修改為左對齊
f-string默認為右對齊,就像上面的例子,但我們可以像下面這樣使用<修改顯示模式為左對齊:
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' for x in range(1,11):print(f'{x:<2}|{x**2:<3}|{x**5:<6}')#輸出 1 |1 |1 2 |4 |32 3 |9 |243 4 |16 |1024 5 |25 |3125 6 |36 |7776 7 |49 |16807 8 |64 |32768 9 |81 |59049 10|100|100000設置科學計數法格式
我們可以參考下面的方式實現指定位數的科學計數法顯示方式:
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import math pi = math.pi print(f'{pi*100:.10e}')#輸出 3.1415926536e+02控制有效數字位數
通過下面的方式,我們還可以控制所顯示數字的有效數字位數,即從左開始第一個不為0的數字往右一共顯示的個數,當位數低于整數部分時會自動變成科學計數法格式:
a=1312.3123123123123 print(f'{a:.10g}') #輸出:1312.312312a=1312.3123123123123 print(f'{a:.3g}') #輸出:1.31e+03會了嗎?
總結
以上是生活随笔為你收集整理的百分之九十的人不知道?在Python中f-string的几个技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通用!Python保存一个对象的方式
- 下一篇: Python语法中的模糊语义,你知道吗?