python 學習筆記(2)資料型別1 (bool型, 數值型別,lists列表型別)
宣告:本文系本人學習python3總結,如有侵權等,請及時告知;
一、型別預覽
1. Booleans[布林型]或為 True[真]或為 False[假]。
2. Numbers[數值型]可以是 Integers[整數](1 和 2)、
Floats[浮點數](1.1 和 1.2)、Fractions[分數](1/2 和
2/3);甚至是 Complex Number[複數]。
3. Strings[字串型]是 Unicode 字元序列,例如:一份
HTML 文件。
4. Bytes[位元組]和 Byte Arrays[位元組陣列],例如: 一份
JPEG 影象檔案。
5. Lists[列表]是值的有序序列。
6. Tuples[元組]是有序而不可變的值序列。 7. Sets[集合]是裝滿無序值的包裹。
8. Dictionaries[字典]是鍵值對的無序包裹。
當然,還有更多的型別。在 Python 中一切均為物件,因此存在
像 module[模組]、 function[函式]、 class[類]、 method
[方法]、 file[檔案]甚至 compiled code[已編譯程式碼]這
樣的型別。您已經見過這樣一些例子:模組的 name、函式的
docstrings 等等。將學到的包括《類與迭代器》中的 Classes
[類],以及《檔案》中的 Files[檔案]。
二分類概述
在python
可使用 isinstance() 函式判斷某個值或變數是否為給定某個型別。
eg: if type(1)=int:
print("1 is int type")
1、bool布林型
bool 無非就是真(True)與假(False)
在學C的都知道真是1,假是0,非零即是真;
在python中,True+True = 2; Ture+False = 1;bool只是用來表徵真假的一種方式,不要在意那麼多。無論何種語言,記住非零即真
2、數值型別
在python支援的數值型別。int.float,long等;
python
將一個 int 與一個 float 相加將得到一個 float 。Python 把 int 強制轉換為 float 以進行法運算;然後返回一個 float 型別的結果。
1)通過呼叫float() 函式,可以顯示地將 int 強制轉換為 float。
2)通過呼叫 int() 將 float 強制轉換為 int 。
依次輪推,你懂得。
3) int() 將進行取整,而不是四捨五入。
4)對於負數,int() 函式朝著 0 的方法進行取整。它是個真正的取整(截斷)函式,而不是 floor[地板]函式。
5)浮點數精確到小數點後 15 位。
6) 整數可以任意大。
3、基本運算子
1) / 運算子執行浮點除法。即便分子和分母都是 int,它也返回一個 float 浮點數。
2) // 運算子執行古怪的整數除法。如果結果為正數,可將其視為朝向小數位取整(不是四捨五入),但是要小心這一點。
3)當整數除以負數, // 運算子將結果朝著最近的整數“向上”四捨五入。從數學角度來說,由於 −6 比 −5 要小,它是“向下”四捨五入,如果期望將結果取整為 −5,它將會誤導你。
4) // 運算子並非總是返回整數結果。如果分子或者分母是 float,它仍將朝著最近的整數進行四捨五入,但實際返回的值將會是 float 型別。
5) ** 運算子的意思是“計算冪”,112 結果為 121 。
6) % 運算子給出了進行整除之後的餘數。11 除以 2 結果為 5 以及餘數 1,因此此處的結果為 1。
4、python中的分數運算;
import fractions
fractions.Fraction(分子,分母);定義一個分數
1)為啟用 fractions 模組,必先引入 fractions 模組。
2)為定義一個分數,建立一個 Fraction 物件並傳入分子和分母。
3)可對分數進行所有的常規數學計算。運算返回一個新的 Fraction 物件。2 * (1/3) = (2/3)
4)Fraction 物件將會自動進行約分。(6/4) = (3/2)
5)在杜絕建立以零為分母的分數方面,Python 有著良好的敏感性。
5、數學方法
import math
1)math 模組中有一個代表π的常量,表示圓的周長與直徑之比率(圓周率)。
2)math 模組包括了所有的基本三角函式,包括:sin()、 cos()、tan() 及像 asin() 這樣的變體函式。
3)然而要注意的是 Python 並不支援無限精度。tan(π / 4) 將返回 1.0,而不是 0.99999999999999989。
4)注意:
(1)分數也可在布林型別上下文環境中使用。無論 n 為何值Fraction(0, n) 為假。所有其它分數為真。
(2)非零浮點數為真; 0.0 為假。請千萬小心這一點!如果有輕微的四捨五入偏差(正如在前面小節中看到的那樣,這並非不可能的事情),那麼 Python 將測試 0.0000000000001 而不是 0 ,並將返回一個 True 值。
6、列表
列表類似C語言的陣列,但是要比陣列強大和靈活,對成員型別沒有要求。列表中可以巢狀列表。
1)定義列表
list=[[1,2,3,"test",'hello'],3,5,"world"]
(1)列表取值:
list[0],list[1]...list[n]
list[-1],list[-2]...list[-n]
list[-n]= list[len(list) - n]
(2)列表切片
list[x:y]
從列表的第x個元素到第y個元素之間的成員;
(3)列表操作
a. 增加成員
list + [1,2,3]
list.append('x'),向列表中增加一個成員;
list.append([]/{}/())向列表中增加一個列表,字典,元組等;
list.insert(n,member)向第n個位置增加一個成員;
list.extend([1,2,3,4])將次列表併入list中;
b.檢索列表
list.count('name'):統計某一個成員'name'在列表中的次數
list.index('name'): 列出某一個成員'name'在列表中的位置
注意:
‐1 是合法的列表索引值。如果 index() 方法返回‐1,可能會導致調整過程變得不那麼有趣!
c.刪除列表成員
list.pop(n):不帶引數彈出列表中最後一個成員,帶引數則彈出第n個成員
list.remove('name'):刪除列表中存在的第一個'name'的成員
dellist[n]: 刪除列表中第n個成員
(4)列表真假判斷
a.在布林型別上下文環境中,空列表為假值。
b.任何至少包含一個上元素的列表為真值。
c.任何至少包含一個上元素的列表為真值。元素的值無關緊要。