1. 程式人生 > >python基礎之資料型別

python基礎之資料型別

資料型別:

基礎資料型別:

整數:正負整數

浮點數:也就是小數,一般用科學計數法表示,如:1.02e-12

布林值:True/False,其實就是整數,True=1, False=0

字串:用單引號或則雙引號引用的資料。

空值:None,表示沒有物件,統一標準佔位使用,不是表示0.

複雜資料型別:

元組(tuple):用小括號括起,其值不可改變,如:a = (1, 2, “123”)。注意若只有一個數據時,應新增逗號,和小括號表示式區分。

         如:a = (2),表示a = 2,小括號表示是運算

                   a = (2, ),表示是一個元組,不是運算。

列表(list): 用方括號表示,其值可以修改,可以用下標訪問具體某位資料。如:a = [1, 2, ‘234’],a[0] = 1, a[1] = 2, a[2] = ‘234’

字典(dict):用大括號表示,形式為key-value,其值可以修改,key為不可改變資料。如:a = {'12’:34, ‘ab’:’345345’}

集合(set):只有key值,沒有對應值,是個無序去重的集合,用於資料集合一些操作,如並集、子集等。

不可變數、可變變數說明:

不可變數有:整數、浮點數、布林值、字串、元組

可變變數有:列表、字典

舉例說明,不可變數,如下:

        a = 10

        b = a

        a = 12

                

在python中,一切皆是物件。故a = 10中,變數a是物件,會在記憶體開闢一個記憶體表示物件a;值10也是物件,也會開闢記憶體儲存。而賦值即把變數a指向值物件所在記憶體。變數a=12時,原來值的物件不會改變,會新建一個物件儲存12,並把a指向新物件。

         所謂不可變物件,實質是指變數指向物件的記憶體沒有發生修改。

可變變數,如下:

         a = [1, 23, 34]

         a[0] = 50

    

         變數a指向記憶體,記憶體又指向對應值。所謂可變變數,實質是a指向的記憶體,值有改變。也就是所a[0] = 50時,變數a指向記憶體改變了。

綜合所述:

         不可變數,類是C語言的指標,只改變指標的值,就是改變指標對應的記憶體地址,而原本存資料的記憶體的值沒有改變。

         可變變數,類是C語言中兩級指標,雖然也是改變第一級指標的值,沒有修改指標對應的記憶體地址的值,但是對於變數來說,他是指向第一級指標的的記憶體,故記憶體改變了。

         所以,在不可變數中,使用函式是不會修改其本身的值,而會生成一個新的物件。可變變數中,會對本身做出修改。如:

         a = “234.45”

         a.replace(‘.’, ‘-‘)       此時,變數a不會做出修改

         a = [2, 4, 1]

         a.sort()             此時,變數a會做出相應修改

字串說明:

         3.x字串預設為unicode編碼,對於python提供的編碼解碼函式(encode/decode)來說。預設情況,針對unicode來說,所有編碼都是從unicode轉換來的,而解碼就是從其他編碼轉化為unicode。

                  

列表操作:

         a = [2, 3, 4]

         新增:

a.append(5)  新增到末尾

        b.insert(2, ‘two’)  在序列號為2插入資料

         獲取:

                   正向獲取,從序列號0開始遞增

                   a[2] 獲取從0開始,序號為2的值(3)

                   反向獲取,從序號-1開始遞減

                   a[-1]  最後一位資料

         獲取並刪除:

a.pop(0) 獲取第0位資料並修改列表

                   a.pop() 獲取最後一位資料並修改列表

字典操作:

         a = {‘1’:234, ‘345’:’this’}

         新增:

                  a[‘14’] = ‘book’

         獲取:

                   直接獲取,如b = a[‘1’]

                   函式獲取:

                   b = a.get(‘1’)  沒有對應key值,返回None

                   b = a.get(‘1’, -1)  沒有對應key值,返回-1

         獲取並刪除:

                   a.pop()