python基礎二

來源:互聯網
上載者:User

標籤:python

一、字典類型

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

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

 650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/9B/A9/wKioL1llwSjj7WI4AAB0-Eq1-Oo875.png" title="Screenshot from 2017-07-12 08-50-40.png" alt="wKioL1llwSjj7WI4AAB0-Eq1-Oo875.png" />

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

 *)內建方法:fromkeys

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

  

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/9B/AA/wKiom1llwcqCzz9pAAAx6wT3QW8246.png" style="float:none;" title="Screenshot from 2017-07-12 08-55-32.png" alt="wKiom1llwcqCzz9pAAAx6wT3QW8246.png" />

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/9B/A9/wKioL1llwcvxsryxAAAuxcRwfaI586.png" style="float:none;" title="Screenshot from 2017-07-12 08-55-39.png" alt="wKioL1llwcvxsryxAAAuxcRwfaI586.png" />


  *)字典的迴圈遍曆訪問

  650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/9B/AA/wKiom1llwhDB8uVfAAA2cgepp3M431.png" title="Screenshot from 2017-07-12 08-56-44.png" alt="wKiom1llwhDB8uVfAAA2cgepp3M431.png" />

  *)字典中key-value的添加

    dic[key] = value

   650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/9B/AA/wKiom1llwkWiRvkXAABFDHohvk0174.png" title="Screenshot from 2017-07-12 08-57-28.png" alt="wKiom1llwkWiRvkXAABFDHohvk0174.png" />

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

  *)字典的刪除

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

  650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/9B/A9/wKioL1llwqHifkDKAABLZhyTM64432.png" title="Screenshot from 2017-07-12 08-58-23.png" alt="wKioL1llwqHifkDKAABLZhyTM64432.png" />

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

  650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/9B/AA/wKiom1llws2xemhxAABKUQmfUnU152.png" title="Screenshot from 2017-07-12 08-58-44.png" alt="wKiom1llws2xemhxAABKUQmfUnU152.png" />

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

   650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/9B/AA/wKiom1llwu3i2lzMAAA10ZuyqyQ498.png" title="Screenshot from 2017-07-12 08-59-02.png" alt="wKiom1llwu3i2lzMAAA10ZuyqyQ498.png" />

   **)刪除字典本身

   650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9B/A9/wKioL1llwwjg7EBKAABX4ziwHas089.png" title="Screenshot from 2017-07-12 08-59-08.png" alt="wKioL1llwwjg7EBKAABX4ziwHas089.png" />

  *)字典的常用方法

   **)dic.get()

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

   650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9B/A9/wKioL1llw1DjnGTvAAAwk_SUQb4202.png" title="Screenshot from 2017-07-12 09-01-12.png" alt="wKioL1llw1DjnGTvAAAwk_SUQb4202.png" />

   **)dic.keys()

     返回字典中的所有key值

  650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9B/AA/wKiom1llw3Tw2pcvAAAxwwZ3w4U196.png" title="Screenshot from 2017-07-12 09-01-58.png" alt="wKiom1llw3Tw2pcvAAAxwwZ3w4U196.png" />

  **)字典內容的更新

  650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/9B/A9/wKioL1llw5jSi1u7AABYBCUzDf0362.png" title="Screenshot from 2017-07-12 09-04-05.png" alt="wKioL1llw5jSi1u7AABYBCUzDf0362.png" />

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

  650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/9B/AA/wKiom1llw7uDVziyAABKywjkmOk684.png" title="Screenshot from 2017-07-12 09-05-24.png" alt="wKiom1llw7uDVziyAABKywjkmOk684.png" />

 

二、函數

  *)定義函數

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

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

     def fun():

        pass

        return

 *)調用函數

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

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

   650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/9B/AA/wKioL1llxemw0qIaAAAgiO0QV6I840.png" title="Screenshot from 2017-07-12 09-07-32.png" alt="wKioL1llxemw0qIaAAAgiO0QV6I840.png" />   

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

   650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/9B/AA/wKioL1llxg2AWfdEAAAT3-Y8vMw312.png" title="Screenshot from 2017-07-12 09-11-09.png" alt="wKioL1llxg2AWfdEAAAT3-Y8vMw312.png" />

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

   650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/9B/AA/wKioL1llxjajcL-AAAAlgOkamHA242.png" title="Screenshot from 2017-07-12 09-12-24.png" alt="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類型判斷

   

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/9B/AB/wKioL1lly2yQnZaeAAANnfS8A68549.png" style="float:none;" title="Screenshot from 2017-07-12 09-21-36.png" alt="wKioL1lly2yQnZaeAAANnfS8A68549.png" />

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/9B/AB/wKioL1lly2zSLdVSAAAZenz-BjA313.png" style="float:none;" title="Screenshot from 2017-07-12 09-22-41.png" alt="wKioL1lly2zSLdVSAAAZenz-BjA313.png" />

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

   650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9B/AB/wKioL1lly8mTHKPbAAAhYtbiKDU558.png" title="Screenshot from 2017-07-12 09-23-37.png" alt="wKioL1lly8mTHKPbAAAhYtbiKDU558.png" />

  *)for迴圈裡,同時引用兩個變數,並且迭代顯示

  650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/9B/AB/wKiom1llzBWCWWhBAAAppUzbvL8934.png" title="Screenshot from 2017-07-12 09-24-42.png" alt="wKiom1llzBWCWWhBAAAppUzbvL8934.png" />

  *)列表產生式

   range模組

    650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/9B/AB/wKiom1llzF7QbCAaAAAdgjjRy04740.png" title="Screenshot from 2017-07-12 09-25-44.png" alt="wKiom1llzF7QbCAaAAAdgjjRy04740.png" />

   列表產生式:

    650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/9B/AB/wKioL1llzIOCJEHyAAAjsXcYMd0441.png" title="Screenshot from 2017-07-12 09-27-11.png" alt="wKioL1llzIOCJEHyAAAjsXcYMd0441.png" />

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

  *)清單產生器

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

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

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

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

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

    650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/9B/AB/wKioL1llzcWBi3HUAABpse00OK0513.png" title="Screenshot from 2017-07-12 09-28-30.png" alt="wKioL1llzcWBi3HUAABpse00OK0513.png" />

    ##使用for迴圈(簡單快捷方便)

    650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/9B/AB/wKioL1llzePCGipFAAATK3XnBVk802.png" title="Screenshot from 2017-07-12 09-29-09.png" alt="wKioL1llzePCGipFAAATK3XnBVk802.png" />

python基礎二

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.