<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          這些f-string的用法,90%的Pythoner不知道!

          共 1084字,需瀏覽 3分鐘

           ·

          2022-06-07 18:01


          文 |?閑歡

          來源:Python 技術(shù)「ID: pythonall」

          f-string 是 Python3.6 版本開始引入的特性,想必很多 Python 用戶都基礎(chǔ)性的使用過,通過它我們可以更加方便地向字符串中嵌入自定義內(nèi)容,但 f-string 真正蘊(yùn)含的功能遠(yuǎn)比大多數(shù)用戶知道的要豐富,今天我們就來一起探索它們!

          基礎(chǔ)用法

          f-string 最基礎(chǔ)的用法很簡(jiǎn)單,如下例所示,在前綴f的字符串中向{}內(nèi)直接填入要嵌入的值、變量或計(jì)算表達(dá)式:

          print(f'1+1?=?{2}')
          #?輸出:1+1 = 2
          ?
          a?=?1?+?1
          print(f'1+1?=?{a}')
          #?輸出:1+1 = 2
          ?
          print(f'1+1?=?{1+1}')
          #?輸出:1+1 = 2

          自記錄表達(dá)式

          從 Python3.8 版本開始,f-string 引入了自記錄表達(dá)式,使得我們可以按照下面的寫法快速輸出一些計(jì)算表達(dá)式:

          import?math
          a?=?8
          print(f'{math.log(8)?=?}')

          #?輸出:math.log(8)?= 2.0794415416798357

          多行 f-string

          通過最外層包裹小括號(hào),我們可以像下面這樣非常靈活地撰寫多行 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

          控制浮點(diǎn)數(shù)精度

          在 f-string 中我們可以按照下列方式靈活地控制浮點(diǎn)數(shù)的小數(shù)位數(shù):

          import?math
          pi?=?math.pi
          print(f'{pi:.3f}')
          print(f'{pi:.8f}')

          #?輸出
          3.142
          3.14159265

          進(jìn)制轉(zhuǎn)換輸出

          在 f-string 中,我們可以直接在輸出時(shí)將目標(biāo)轉(zhuǎn)換成不同的進(jìn)制進(jìn)行輸出:

          number_10?=?1024
          print(f'{number_10:b}')??#?2進(jìn)制
          print(f'{number_10:o}')??#?8進(jìn)制
          print(f'{number_10:x}')??#?16進(jìn)制小寫
          print(f'{number_10:X}')??#?16進(jìn)制大寫
          print(f'{number_10:c}')??#?ASCII編碼

          #?輸出:
          10000000000
          2000
          400
          400
          ?

          字符串對(duì)齊

          f-string 默認(rèn)為右對(duì)齊,我們可以修改對(duì)齊方式:

          text?=?'python'
          print(f'{text:>10}')??#?右對(duì)齊
          print(f'{text:<10}')??#?左對(duì)齊
          print(f'{text:^10}')??#?居中對(duì)齊
          print(f'{text:*^10}')??#?居中對(duì)齊,用*補(bǔ)齊空白
          n?=?10
          print(f'{text:#^{n}}')??#?參數(shù)嵌套,居中對(duì)齊,用~補(bǔ)齊空白

          #?輸出:
          ????python
          python
          ??python
          **python**
          ##python##

          標(biāo)準(zhǔn)化顯示寬度

          當(dāng)我們需要對(duì) f-string 打印內(nèi)容的顯示最小寬度進(jìn)行限制時(shí),譬如打印出類似表格的結(jié)構(gòu),可以這樣寫:

          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

          格式化日期

          針對(duì)日期類型的變量,我們可以參考下面的方式,直接在 f-string 中快速地進(jìn)行格式化:

          import?datetime
          now?=?datetime.datetime.now()
          print(f'{now:%Y年%m月%d號(hào)%H點(diǎn)%M分%S秒}')
          ?
          #?輸出:
          20220521號(hào)17點(diǎn)0408

          科學(xué)計(jì)數(shù)

          我們可以實(shí)現(xiàn)指定位數(shù)的科學(xué)計(jì)數(shù)法顯示方式:

          import?math
          pi?=?math.pi
          print(f'{pi*100:.10e}')
          ?
          #?輸出
          3.1415926536e+02

          控制有效數(shù)字位數(shù)

          我們還可以控制所顯示數(shù)字的有效數(shù)字位數(shù),即從左開始第一個(gè)不為0的數(shù)字往右一共顯示的個(gè)數(shù),當(dāng)位數(shù)低于整數(shù)部分時(shí)會(huì)自動(dòng)變成科學(xué)計(jì)數(shù)法格式:

          a?=?1312.3123123123123
          print(f'{a:.10g}')
          #輸出:1312.312312
          ?
          a?=?1312.3123123123123
          print(f'{a:.3g}')
          #輸出:1.31e+03

          總結(jié)

          關(guān)于在 Python 中 f-string 的幾個(gè)技巧的文章就介紹到這里,這些騷操作你學(xué)會(huì)了嗎?還有哪些狂拽炫酷吊炸天的代碼,歡迎留言區(qū)討論!

          近期閱讀學(xué)習(xí)推薦

          服務(wù)器被黑客攻擊,用來挖礦!怎么辦?

          Python超好用的命令行界面實(shí)現(xiàn)工具

          Python自動(dòng)化處理Excel表格實(shí)戰(zhàn)完整代碼分享(課表解析)

          如何找到我

          分享

          收藏

          點(diǎn)贊

          在看

          瀏覽 30
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久精品AV无码夜色 | 影音先锋三级在线 | 亚欧精品久久久久久久久久 | 中文字幕在线无码 | 日韩精品a∨中文在线播放 |