python基礎二

一、字典類型

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

  *)字典的創建和字典值得訪問

 wKioL1llwSjj7WI4AAB0-Eq1-Oo875.png

  ##字典的內容在查看時不能通過索引來進行查看

 *)內建方法:fromkeys

    字典中的key有相同的value值,默認爲None

  

wKiom1llwcqCzz9pAAAx6wT3QW8246.png

wKioL1llwcvxsryxAAAuxcRwfaI586.png


  *)字典的循環遍歷訪問

  wKiom1llwhDB8uVfAAA2cgepp3M431.png

  *)字典中key-value的添加

    dic[key] = value

   wKiom1llwkWiRvkXAABFDHohvk0174.png

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

  *)字典的刪除

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

  wKioL1llwqHifkDKAABLZhyTM64432.png

    **)隨機刪除字典元素,返回(key,value)

  wKiom1llws2xemhxAABKUQmfUnU152.png

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

   wKiom1llwu3i2lzMAAA10ZuyqyQ498.png

   **)刪除字典本身

   wKioL1llwwjg7EBKAABX4ziwHas089.png

  *)字典的常用方法

   **)dic.get()

    如果key存在於字典中,返回對應的value值

   wKioL1llw1DjnGTvAAAwk_SUQb4202.png

   **)dic.keys()

     返回字典中的所有key值

  wKiom1llw3Tw2pcvAAAxwwZ3w4U196.png

  **)字典內容的更新

  wKioL1llw5jSi1u7AABYBCUzDf0362.png

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

  wKiom1llw7uDVziyAABKywjkmOk684.png

 

二、函數

  *)定義函數

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

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

     def fun():

        pass

        return

 *)調用函數

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

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

   wKioL1llxemw0qIaAAAgiO0QV6I840.png   

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

   wKioL1llxg2AWfdEAAAT3-Y8vMw312.png

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

   wKioL1llxjajcL-AAAAlgOkamHA242.png

   

  *)函數類型轉換

   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類型判斷

   

wKioL1lly2yQnZaeAAANnfS8A68549.png

wKioL1lly2zSLdVSAAAZenz-BjA313.png

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

   wKioL1lly8mTHKPbAAAhYtbiKDU558.png

  *)for循環裏,同時引用兩個變量,並且迭代顯示

  wKiom1llzBWCWWhBAAAppUzbvL8934.png

  *)列表生成式

   range模塊

    wKiom1llzF7QbCAaAAAdgjjRy04740.png

   列表生成式:

    wKioL1llzIOCJEHyAAAjsXcYMd0441.png

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

  *)列表生成器

   **)爲什麼需要列表生成器:

     通過列表生成式,我們可以直接創建一個列表,受到內存限制,列表容量肯定是有限的;

     創建一個包含100萬個元素的列表,佔用很大的 存儲空間;

   **)生成器是什麼:
     在循環過程中不斷推算出後續的元素,這樣就不必創建完整的list,從而節省大量的空間。在python中,這種一邊循環一邊計算的機制,稱爲生成器

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

    wKioL1llzcWBi3HUAABpse00OK0513.png

    ##使用for循環(簡單快捷方便)

    wKioL1llzePCGipFAAATK3XnBVk802.png

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