Python第四篇:總結下python基礎中很少人知的小技巧(第一彈)

       這篇博客專門針對沒系統學習過python的小夥伴,因爲我雖然會用python,都是通過零碎的開發,即拿即用式的學習,但是對於基礎,還有很多知識的缺口,特此記錄一下,獻給需要的夥伴們。如果你是主學python的,此篇可能過於小白,不喜勿噴。

1.如何快速對字符串中可能會出現轉義字符的進行轉換?

例如:"你們知道\n是什麼意思麼?那麼\t呢",我們需要打印上面字符串,但是打印時會將字符串中的轉義字符進行轉義,如下圖

但事實上我們只是要輸出而已。這時我們就需要將轉義字符變回普通的字符,可以通過在字符串前面加上r或者R即可,如下圖:

2.對字符串進行格式化輸出

什麼是對字符串進行格式化輸出,有這麼一個需求,你要輸出一個字符串,但是可能還需要動態的加上一些參數,比如下面的字符串:

"我叫 xxx,今年xx歲,資產xxxx.xx元"

名字需要用變量類型爲字符串的name的值填充,年齡用int類型的age,資產用float類型的account。那我們一般最直接的辦法就是將所有其他非字符串類型的變量強轉爲字符串類型,比如用str(age),str(float)等等,然後在+起來。但是這樣很麻煩,而且很死板。python目前提供了3種可以幫你快速實現上面的方法,而且還美觀上檔次。

  1. 通過f-string的方式,當然這時python3.6版本及以上纔有的,示例如下

                

       看的出來它的實現形式就是在字符串的前面加個f,然後在字符串中用{變量名}的形式替換掉你要填入的值,很方便,無需考慮類型轉換,python3.6以上的小夥伴們就直接用它吧。

    2.format()方法,示例如下

      

      這種跟上一種差不多,但是玩法更多,同樣是用一個空{}來表示一個變量的佔位,在字符串後面調用format()方法,括號裏面的就按你指定的順序寫入變量名,當然,你隨便寫也沒問題,可以在前面的{}中寫入後面括號中指定變量名的位置也行。

    3. %類型

      這種格式化方式已經很老了,用 python很久的大佬可能還在用,但是這種方式已經很繁瑣了,不夠靈活很容易出錯,因爲要考慮類型,本來我們就要消除這個東西的影響,這種方式就提及一下,紀念一下。

    

主要是用%加類型名,再在後面用%(變量名)的形式做格式化輸出。你看不僅複雜了點,還讓float多出幾個0,下面就補充下這幾種方式如何控制精度。比如account保留小數點f-string中是通過{account:.2f},format()通過{.2f},%類型這種方式可以寫成%.2f。

3.如何快速將一個數變成百分數?

當我們需要得到一個數值的百分數的時候,通常的情況是,這個數先轉成str類型,然後兩個相+。但是有可能出現偏差。我們可以用上面那三種格式化輸出拼湊出%,示例如下:

還是看的出用f-string的模式更加簡潔快速。它裏面的%是表示直接將數值轉換爲百分數。

4.進制轉換

python中有內置函數可以幫助我們進行進制轉換。如下:

先了解下python中各種進制的開頭

二進制:0b,八進制:0o,十六進制:0x

十進制轉爲其他進制:

這裏我寫了好幾種表示方式,除了內置的轉二進制bin(),轉八進制oct(),轉十六進制hex()等函數,還能通過f-string格式化輸出來表示

其他進制轉成十進制

其他進制轉換成10進制就必須先把這個進制數變成str類型,可以不帶前綴,但必須要在int(數值,進制數)中指定數值是哪種進制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章