1. 程式人生 > 其它 >學習python,從入門到放棄(4)

學習python,從入門到放棄(4)

學習python,從入門到放棄(4)

基本資料型別

  • dict型別

    字典型別是不同於列表的另一種可變容器模型,也可儲存任意型別物件。

    字典的每個鍵值 key=>value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中 。

    d = {key1 : value1, key2 : value2 }
    

    dict 作為 Python 的關鍵字和內建函式,變數名不建議命名為 dict。鍵一般是唯一的,如果重複最後的一個鍵值對會替換前面的,值不需要唯一。

    字典是不支援索引取值的,因為字典內部是無序的。

  • set型別

    集合是無序和無索引的容器模型,因為無索引所以無法引用索引來訪問集合中的專案,但是可以使用for

    來迴圈遍歷set專案或者使用in來查詢集合專案中是否存在指定值。

    該資料型別功能很單一,並且後續使用頻率較低,一般用於去重或者關係運算。

    thisset = {"apple", "banana", "cherry"}
    

    由type函式可以得知,如果花括號內為空,則預設定義為dict字典型別。

  • tuple型別

    元組型別與列表型別幾乎一致,區別是元組型別一般用於儲存不可更改的資料,所以它也叫不可變列表。

    元組建立很簡單,只需要在括號中新增元素,並使用逗號隔開即可。

    tup1 = ('physics', 'chemistry', 1997, 2000)
    tup2 = (1, 2, 3, 4, 5 )
    tup3 = "a", "b", "c", "d"
    

    注意:元組中只包含一個元素時,需要在元素後面新增逗號。

    tup1 = (50,)
    

    它與列表一樣支援索引取值,但是裡面的元素不能被更改。

  • bool型別

    布林型別也就是邏輯型別,一般用於邏輯運算,它只有兩個狀態

    True和False,在python中所有的資料在進行邏輯判斷的時候都會轉成布林值,布林值預設為False的資料0、None、空字串、空列表、空字典...其餘都為True。

    對於布林值的變數名,一般以is開頭。

    	is_right = True			
        is_delete = False		
        is_alive = True
    

使用者互動

  • input 輸入

    用於獲取使用者的輸入資料並將其轉換為字串。

  • print 輸出

    之前我們一直都在使用的print()。用於輸出資料,支援所有的資料型別。

格式化輸出

我們都收到過這樣的簡訊

觀察可以發現,每個月發來的簡訊格式是一樣的,其實這就是使用了格式化輸出的效果,那麼在python中如何實現呢?

非常的簡單,只要使用佔位符就好啦。

  1. %d代表數字佔位符,代表int整型,只能傳遞十進位制整數

  2. %s代表字串佔位符,代表string字串

  3. %f代表浮點,預設保留6位小數位,而第7位根據四捨五入取值

  4. %r萬能統配符(可以將後面給的引數原樣打印出來,帶有型別資訊)

    參考地址:地址

運算子

除了我們平時所熟知的加(+)、減(-)、乘(*)、除(/)以外,python還具有整除(//)、取餘(%)、等於(==)等運算子,為了讓程式碼看起來更加簡潔,還有

  • 增量賦值 (+=)、(-=)、(*=)、(/=)

    x += 100  # x = x + 100
    x -= 100  # x = x - 100
    x *= 100  # x = x * 100
    x /= 100  # x = x / 100
    
  • 鏈式賦值

    x = y = z = 100
    '''
    x = 100
    y = x
    z = x
    '''
    
  • 交叉賦值

    m, n = n, m
    '''
    tmp = m
    m = n
    n = tmp
    '''
    
  • 解壓賦值

    name_list = ['jason', 'kevin', 'tony', 'jerry']
    name1, name2, name3, name4 = name_list
    

    正常情況下 左右兩邊的變數名和值個數要相等,不然則會報錯。

    但是也有打破限制的方法。只要將剩下的元素找容器存放就可以了。

    甚至可以取中間元素。

    (單獨的下劃線作為變數名,意思是為了符合語法,但是指向的值用不到的情況,屬於約定俗成的規則)

邏輯運算子

  • and 與

    當連線的條件全部滿足時,結果才是True。

    True and True 結果為 True

    True and False 結果為 False

    False and True 結果為 False

    False and False 結果為 False

  • or 或

    當連線的條件有一個滿足時,結果就為True。

    True or True 結果為 True

    True or False 結果為 True

    False or True 結果為 True

    False or False 結果為 False

  • not 非

    反轉條件。

    not False 結果為 True

    not True 結果為 False

它們之中與加減乘除一樣擁有優先順序的概念,但是我們在編寫時應當用括號將其強制規定好它的順序。

(3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)

成員運算、身份運算

  • 成員運算 in

    用於判斷某個個體在不在某個群體內

    name_list = ['jason', 'kevin', 'tony', 'oscar', 'jerry', 'owen', 'tank']
    print('jason' in name_list)  # True
    print('jason' not in name_list)  # False
    
  • 身份運算 is ==

    == 用於判斷兩個變數的值是否相同。

    1 == 1  # Ture
    1 == 2  # False
    

    is 用於測試兩個變數是否引用同一物件。

    如果兩個物件是同一物件,則 test 返回 True。

    如果兩個物件不是同一物件,即使兩個物件 100% 相等,test 也會返回 False。

    x = ["apple", "banana", "cherry"]
    
    y = x
    
    print(x is y)  # True
    
    x = ["apple", "banana", "cherry"]
    
    y = ["apple", "banana", "cherry"]
    
    print(x is y)  # False
    

    eg:pycharm具有將兩個值相同的元素存放與同一空間,用於騰出記憶體的功能所以當兩個值相同的元素is的時候會返回True。

    在cmd中則不會。

總結

以上是今天做學的內容,開始出現了以前未學習過的內容,也有一些舊內容所忽略的東西,總體而言收穫頗豐。