python資料型別

2021-07-30 05:41:25 字數 1702 閱讀 1909

三大基本型別,也是我們用的最多的

1.整形int,用c語言中的long實現,取值範圍-sys.maxint-1~sys.maxin,無sys.minint,sys.maxint就是物理機的位數決定的.

2.長整形long,帶有l/l的integer或超出integer範圍的,print時會帶字尾l,無精度限制,無限大,因此python中都是有符號數,沒有unsigned型別

3.**布林型別**bool,true或者false

4.浮點型float,用c中的double實現,sys.float_info,因此python中無單雙精度區分,不支援double型別

5.複數complex,z.real, z.imag

也就是初始化之後元素就不能改變

1.string,基本組成部分是字元.string的儲存編碼依賴於不同的編碼方式,比如乙個位元組編碼的ascii碼,兩個位元組的gbk編碼,三個位元組的utf-8.

2.unicode,使用python內碼,也就是ucs2(16-bit,2個位元組)或者ucs4(32-bit,4個位元組)編碼.屬於string型別的特例.可以通過encode和decode與string型別轉換.

3.tuples,元素可以是python中任意的型別.一旦建立之後,其元素值不可以改變.

1.list型別,與truples唯一的區別就是變數的內容可以改變.

1.dict型別,字典型別,一條記錄有索引和對應的值兩個欄位.其中的值可以改變.通過索引去尋值.

具體的型別初始化以及相關api可以通過菜鳥教程學習

網上所說的可變型別和不可變型別去區分按值傳遞和按引用傳遞都是便於理解而已,並不是存在那樣的機制,python的賦值與這兩種都不相同.

1.python中所有的變數都是物件,每個變數都有乙個唯一的id號唯一確定.並且均為void型別,執行之後有不同的型別.

2.a=b,則a獲得所有的b的性質,包括資料型別和id號.此時a和b是同乙個變數,使用a is b語句判斷,返回的值為true.

3.修改其中乙個變數的內容:

—-只修改變數的內容,比如list更改乙個元素.此類修改不會改變資料型別和id號,並且兩個變數a和b的內容都會改變,因為兩個變數其實是同乙個.此類修改只存在與可變變數,比如list,dict

—–完全修改變數,也就是重新初始化,此類修改會改變變數的型別和id號,只有被修改的變數的內容會發生改變.不管是不可變變數,比如number,tuples,string,還是上面提到的可變變數,都滿足這條規定.

舉個例子,因為int型別也是不可變變數,所以如果a=3,b=a,然後b=5,則a和b之前是指向同乙個變數的,然後,就b重新賦值後,也就相當於重新初始化,那麼a和b也就代表不同的變數,所以a的值是不變的.這也就解釋了在函式傳參的過程中,為什麼函式中改變了,真實的值是不變的現象.

python的函式傳參也符合python的賦值條例.不同於c/c++的引用和值傳遞.

——————————–2017.4.7

python資料型別

python的資料型別 數字 字串 列表 元祖 字典 檢視型別可以使用type函式如 type abc 數字 整型 長整型 浮點型 複數 字串 單引號 雙引號 3引號 a abcde a 1 b a 2 3 c a 2 4 cd a 2 cde a 2 ace a 1 e a 3 2 c a abc...

python 資料型別

python有五個標準的資料型別 使用del可以刪除資料的引用 例,one 100 del one del 也可以同時刪除多個引用 變數。例del one,two,three print one 將提示one 沒有定義 python支援四種不同的數值型別 python的字串列表有2種取值順序 加號 ...

Python 資料型別

一 整數 python可以處理任意大小的整數,當然包括負整數,在python程式中,整數的表示方法和數學上的寫法一模一樣,例如 1,100,8080,0,等等。計算機由於使用二進位制,所以,有時候用十六進製制表示整數比較方便,十六進製製用0x字首和0 9,a f表示,例如 0xff00,0xa5b4...