天天看點

python基礎二

一、字典類型

  *)字典是python中唯一的映射類型 ,key-value(哈希表),字典對象是可變的,但key必須用不可變對象。

  *)字典的建立和字典值得通路

  ##字典的内容在檢視時不能通過索引來進行檢視

 *)内建方法:fromkeys

    字典中的key有相同的value值,預設為None

<a href="https://s1.51cto.com/wyfs02/M00/9B/AA/wKiom1llwcqCzz9pAAAx6wT3QW8246.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M00/9B/A9/wKioL1llwcvxsryxAAAuxcRwfaI586.png" target="_blank"></a>

  *)字典的循環周遊通路

  *)字典中key-value的添加

    dic[key] = value

   ##通過字典的添加發現,字典是無序的資料類型

  *)字典的删除

    **)根據key值删除字典的元素

    **)随機删除字典元素,傳回(key,value)

   **)删除字典中的所有元素

   **)删除字典本身

  *)字典的常用方法

   **)dic.get()

    如果key存在于字典中,傳回對應的value值

   **)dic.keys()

     傳回字典中的所有key值

  **)字典内容的更新

  **)檢查字典中是否存在某個key值

二、函數

  *)定義函數

   **)def關鍵字,依次寫出函數名、括号、括号中的參數和冒号:

   **)在縮進塊中編寫函數體,函數的傳回值用return語句傳回。

     def fun():

        pass

        return

 *)調用函數

   python内置了很多有用的函數,我們可以直接調用:

    **)sum()   ##求和内置函數

   **)abs()  ##求絕對值

   **)cmp()  ##比較函數

  *)函數類型轉換

   int(obj)  ##将字元串轉為整型

   float(obj) ##轉化為浮點型

   str(obj) ##轉化為字元串型   *)什麼是函數名

    **)函數名與變量名類似,其實就是指向一個函數對象的引用;

    **)給這個函數起了一個 “别名”:函數名賦給一個變量

  *)空函數

    定義一個什麼也不做的空函數,可以用pass語句;

    pass可以用來作占位符,還沒想好怎麼寫函數的代碼,就可以先放一個pass,整個代碼先運作起來

    def  fun()

     pass

  *)參數檢查

    **)調用函數時,如果參數個數不對,python解釋器會自動檢查出來,并超出TypeError;

    **)如果參數類型不對,python解釋器就無法幫我們檢查。

    **)資料類型檢查可以用内置函數isinstance實作

  *)函數傳回值

    **)函數傳回值用return關鍵字;

    **)傳回一個tuple可以省略括号;

    **)python的函數傳回多值其實就是傳回一個tuple

    **)函數執行完畢沒有return語句時,自動return None

  *)函數參數

    **)有多個參數時,變化大的放前面,變化小的放後面;

       必選參數在前,預設參數在後

  *)可變參數

   可變參數就是傳入的參數個數是可變的,可以是1個,2個到任意個,也可以是0個 

     *args

  *)關鍵字參數

    **)關鍵字參數允許傳入0個或任意個含參數名的參數;

    **)這些關鍵字參數在函數内部自動組裝為一個dict;

    **)關鍵字參數**kwargs

三、函數的進階特性

  *)疊代

   可以通過for循環來周遊這個list或tuple,這種周遊我們稱之為疊代(iteration)

   隻要是可疊代對象,無論有無下标,都可以疊代,比如dict就可以疊代

 *)如何判斷對象是否可以疊代

   利用collection子產品的iterable類型判斷

<a href="https://s3.51cto.com/wyfs02/M01/9B/AB/wKioL1lly2yQnZaeAAANnfS8A68549.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M02/9B/AB/wKioL1lly2zSLdVSAAAZenz-BjA313.png" target="_blank"></a>

  *)利用python内置的枚舉方法enumerate,把一個list變成索引-元素對

  *)for循環裡,同時引用兩個變量,并且疊代顯示

  *)清單生成式

   range子產品

   清單生成式:

     ##循環太麻煩,而清單生成式則可以用一行語句代替循環生成上面的list

  *)清單生成器

   **)為什麼需要清單生成器:

     通過清單生成式,我們可以直接建立一個清單,受到記憶體限制,清單容量肯定是有限的;

     建立一個包含100萬個元素的清單,占用很大的 存儲空間;

   **)生成器是什麼:

     在循環過程中不斷推算出後續的元素,這樣就不必建立完整的list,進而節省大量的空間。在python中,這種一邊循環一邊計算的機制,稱為生成器

   ##使用g.next()方法依次讀取元素(麻煩)

    ##使用for循環(簡單快捷友善)

本文轉自 昭He淺墨 51CTO部落格,原文連結:http://blog.51cto.com/502703956/1946719,如需轉載請自行聯系原作者