python 知識點彙總

2021-10-16 13:25:38 字數 1072 閱讀 9210

在學習python 過程中,很多用法,大家都知道可以這樣用,不能那麼用,但是很多時候,為啥麼不能那麼用,關心的人不多,知其所以然,對於學習是很有必要的,有助於我們加深理解。多了解總沒有壞處的。

1.自定義函式時,有預設值的形參應放在無預設值的形參之後

在定義函式時,如果有預設值的形參放在無預設值的形參之前,在函式呼叫時,python依然會將帶入函式的實參作為位置實參傳遞給第乙個形參,這樣,會導致無預設值的形參得不到實參傳入。因此,有預設值的形參需要在無預設值的形參之後,否則將會有如下報錯資訊。

2.邏輯判斷的短路原則

a and b

如果前面的條件為假,那麼這個and前後兩個條件組成的表示式一定為假,第二個條件不會被計算。

a or b

如果前面的條件為真,那麼這個or前後兩個條件組成的表示式一定為真,第二個條件不會被計算。

3.字串拼接,用join() 還是 '+'

首先,直接用join() 和 +,都可以實現字串的拼接,兩者具體的用法如下:

然後,如果注重執行效率的話,特別是需要拼接量級較多的字串時,兩者的執行效率不可同日而語,甚至可以說是天壤之別。廢話不多說,看下圖:

從上面的**中,可以看到join()拼接字串要比+快很多,特別是在十萬次以上的迴圈中。

那是什麼原因導致這種差別呢?我們知道,str型別為不可變物件,顧名思義,修改字串就得將原字串中的值複製,然後開闢一塊新的記憶體,加上拼接的內容後,寫入新的記憶體中,以達到「修改字串」的效果。在使用『+』進行拼接時,正是使用了重複性的複製、申請新記憶體、寫入值到新記憶體的流程;而使用join()方法拼接字串時,會先計算總共需要申請多少記憶體,然後一次性申請所需要記憶體,並將字串複製過去,這樣就省去了很多重複性的記憶體申請和寫入,極大程度的節省了時間消耗。

Python程式設計知識點彙總

開源生態好 語法簡單 由於python的生態好,有眾多的開源庫。因此python的程式設計更加注重 的復用,注重模組程式設計,對第三方庫的使用。庫名功能 turtle 繪圖math 數 算 pil影象處理 opencv numpy 多維陣列 request 請求html 用於爬蟲 bs4處理html...

python小知識點彙總

場景 自動化用例中需要構造資料,寫入redis 表中已有該primary key的記錄,在現有基礎上更新字段 表中無該記錄,需要插入 請求傳入table欄位,db.table,context為要新增的字段等,一般為json或dict def add table context,table 獲取db ...

python 基本知識點彙總

數值 字串 元祖 tuple 採用的是複製方式 深拷貝 即需要引用全域性變數前加個 global demo x 5 print 5 def get global x x x 10 print x get data a 2.遍歷value值 3.遍歷字典鍵值 與運算子。如果兩個相應位都為1,則該位的結...