Python乾貨整理之基礎篇

Table of Contents

 

Python乾貨整理之基礎篇(未完成)

1 對象

2 異常

3 Python內置數據類型

3.1 數值型與布爾型

3.2 列表


Python乾貨整理之基礎篇(未完成)

作者:

Howard Wonanut

參考資料:

1. 《深入Python3》

2. 《Python核心編程》

1 對象

在Python裏面,所有的東西都是對象。字符串是對象,列表是對象,函數是對象,類是對象,類的實例是對象,甚至模塊也是對象。

2 異常

異常在Python中無處不在,事實上在標準的Python庫裏面的每一個模塊都是用它們,而且在很多不同情形下,Python自身也會拋出異常。如果你知道某行代碼可能拋出一個異常,你應該使用try...except塊來處理異常。

Python使用try...except塊來處理異常,使用raise語句來拋出異常。Java和C++使用try...catch來處理異常,使用throw來拋出異常。

3 Python內置數據類型

Python有多種內置數據類型,以下是比較重要的一些:

  • 布爾型:True/False
  • 數值型:整數、浮點數、分數等
  • 字符串型:Unicode字符序列
  • 字節和字節數組
  • 列表:列表是值的有序序列
  • 元組:元素 是不可變的列表。一旦創建之後,用任何方法都不可以修改元素
  • 集和:集和是裝滿無序值的包裹
  • 字典:字典是鍵值對的無序包裹

可以使用type()函數來檢測任何值或變量的類型,還可以使用isinstance()函數來判斷某個值或變量是否爲給定某個類型。

3.1 數值型與布爾型

3.1.1 分數

python中分數的使用:爲啓用 fractions 模塊,必先引入 fractions 模塊

>>> import fractions

>>> x = fractions.Fraction(1,3)

>>> x
Fraction(1,3)

>>> x*2
Fraction(2,3)

3.1.2 三角函數

可以在Python中進行基本的三角函數運算,需要引入 math 模塊:

>>> import math

>>> math.pi
3.1415926535897931

>>> math.sin(math.pi / 2)
1.0

3.1.3 布爾上下文環境中的值

零值是False,其他非零值是True

 

3.2 列表

3.2.1 創建列表

>>> a_list = ['a', 'b', 'mpilgrim', 'z', 'example']

列表創建非常輕鬆:使用中括號包裹一系列以逗號分割的值即可。

1. 首先,創建一個包含 5 個元素的列表。要注意的是它們保持了最初的順序。這並不是偶然的,列表是元素的有序集合。  

2. 列表可當做以零爲基點的數組使用。非空列表的首個元素始 終是 a_list[0] 。  

3. 該 5 元素列表的最後一個元素是 a_list[4],因爲列表(索 引)總是以零爲基點的。  

4. 使用負索引值可從列表的尾部向前計數訪問元素。任何非空列表的最後一個元素總是 a_list[‐1] 。  

5. 如果負數令你混淆,可將其視爲如下方式: a_list[‐n] == a_list[len(a_list) ‐ n] 。因此在此列表中, a_list[‐3] == a_list[5 ‐ 3] == a_list[2]。

 

3.2.2 列表切片

定義列表後,可以從其中獲取任何部分作爲新列表,該技術稱爲對列表進行切片,具體見示例:

>>> a_list
['a', 'b', 'mpilgrim', 'z', 'example']

>>> a_list[1:3]            
['b', 'mpilgrim']

>>> a_list[1:‐1]           
['b', 'mpilgrim', 'z']

>>> a_list[0:3]            
['a', 'b', 'mpilgrim']

>>> a_list[:3]            
['a', 'b', 'mpilgrim'] 

>>> a_list[3:]            
['z', 'example']

>>> a_list[:]              
['a', 'b', 'mpilgrim', 'z', 'example']

只有一點需要說明一下,切片的區間是前閉後開的。

 

3.2.3 向列表中新增項

共有四張方法:

>>> a_list = ['a']
>>> a_list = a_list + [2.0, 3]    
>>> a_list                        
['a', 2.0, 3]

>>> a_list.append(True)           
>>> a_list
['a', 2.0, 3, True]

>>> a_list.extend(['four', 'Ω'])  
>>> a_list
['a', 2.0, 3, True, 'four', 'Ω']

>>> a_list.insert(0, 'Ω')         
>>> a_list
['Ω', 'a', 2.0, 3, True, 'four', 'Ω']

說明:

1. + 運算符連接列表以創建一個新列表。列表可包含任何數量的元素;沒有大小限制(除了可用內存的限制)。然而,如果 內存是個問題,那就必須知道在進行連接操作時,將在內存中 創建第二個列表。在該情況下,新列表將會立即被賦值給已有 變量 a_list 。因此,實際上該行代碼包含兩個步驟 — 連接然後 賦值 — 當處理大型列表時,該操作可能(暫時)消耗大量內 存。  

2. 列表可包含任何數據類型的元素單個列表中的元素無須全爲同一類型。上面的列表中包含一個字符串、一個浮點數和一 個整數。  

3. append() 方法向列表的尾部添加一個新的元素。

4. extend() 方法只接受一個列表作爲參數,並將該參數的每個元素都添加到原有的列表中。  

5. insert() 方法將單個元素插入到列表中。第一個參數是列表中將被頂離原位的第一個元素的位置索引。列表中的元素並不一定要是唯一的;比如說:上面的最後一個例子中兩個各自獨立的元素,其值均 爲 'Ω':,第一個元素 a_list[0] 以及最後一個元素 a_list[6] 。

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