1. 程式人生 > >梳理Python基礎認識基本型別,從零開始,學習Python!

梳理Python基礎認識基本型別,從零開始,學習Python!

先羅列一下Python提供的基本資料型別:數值(整型、浮點型、複數、布林型等)、字串、列表、元組、字典、集合等,將它們簡單分類如下:

 

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

數值(Numbers)

numbers:列出了一些簡單的例子

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

bool:呼叫bool()可以檢查變數的真假值True或False。

if語句通過判斷布林型別來控制程式的執行路徑,同時在 Python 中資料有隱式的真假值,可以使程式碼變得簡短有效,如下

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

字串(String)

首先,我們定義一個s='python'語句,它在計算機中的執行順序是先在記憶體中建立一個字串python,在程式棧暫存器中建立一個變數s,最後把python的地址賦給s 。

再來看看字串的一些常見操作

  • 切片

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

  • 替換

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

  • 查詢

find()

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

index()

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

  • 轉大小寫

進群:960410445 即可獲取數十套PDF!

upper(),lower(),swapcase(),capitalize()

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

  • 去空格,strip()、lstrip()、rstrip()
  • 連線與分割

使用 + 連線字串,每次操作會重新計算、開闢、釋放記憶體,效率很低,所以推薦使用join

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

  • 還有一些常用的,這裡只列出來

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

以上是一些常見的操作,當然還有一個沒有列出來,這裡想單獨拿來談談,就是 Python3 字串的編碼:

  1. ASCII 編碼出現最早,只有大小寫英文字母、數字和一些符號等127個字元,為了實現多語言表示,如中文的GB2312編碼,日文的Shift_JIS編碼等,Unicode 孕育而生,它將所有語言都統一到一套編碼中;
  2. 在 Python3 中所有字串在記憶體中均是 Unicode 儲存;
  3. 當需要將檔案儲存到外設或進行網路傳輸時,就要進行編碼轉換,將字元轉換為位元組,以提高效率

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 進群:960410445   即可獲取書十套PDF!

在 Python3 中,記憶體中的 Unicode 字元用 str 物件表示,對應於的,Python3 使用了一種全新的資料型別來表示位元組,就是 bytes,所以 encode 轉換後的位元組流就不是 str 物件,而是 bytes 位元組物件,它當然支援分片、索引、基本數值運算等操作,但 str 與 bytes 型別的資料不能進行+操作。

來看看 bytes 資料型別的定義:

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

從上述例子中可以看出 bytes 物件不能由超出 ASCII 碼範圍的字元組成,只接受 ASCII 碼這個範圍的字元。

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

同樣,從上面的例子我們還可以總結出一些坑爹的東西:

  1. Unicode 碼在 Python3 中有兩種表示方式,u'字串'和\u四位十六進位制數;區分r'字串' ,是表示不轉義的原始字串
  2. 將字元直接以 Unicode 碼儲存使用unicode-escape
  3. 在 Python 的互動式環境中,輸出 bytes 物件時,可按 ASCII 碼錶示,或按十六進位制\x表示
  4. 在 Python 頭宣告#-*- coding:utf-8 -*-,是告訴 Python 編譯器按utf-8的方式讀取,這個宣告並不能將 Python 檔案本身儲存成utf-8,這時候需要藉助文字編輯器儲存檔案編碼。

編碼部分我的理解就是這些了,感覺還是沒有將編碼問題總結清楚(無奈),還有什麼補充的可以留言給小編

列表(List)

Python 可使用語法糖[]表示列表,其中的元素可以是任何型別,以順序儲存的方式動態儲存資料:

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

元組(Tuple)

元組與列表不同的是,元組是不可變型別(immutable),不能對元素進行修改,但記憶體可以明確知道需要分配多少空間給元組

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

字典(Dictionaries)

字典是通過鍵值對的方式進行儲存,佔用大量的記憶體而獲得極快的查詢和插入速度,而列表剛好相反,查詢和插入速度隨著元素的增加而變慢,但佔用的記憶體較小。字典雖然是可變型別,但因為它的 value 的位置是根據 key 計算出來的,因此 key 必須是不可變物件,這樣才能確保字典的正確使用。

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

自定義資料型別

Python 允許通過繼承去自定義資料型別,很多第三方庫或框架都有類似的應用,這裡簡單實現了一個供參考:

梳理Python基礎認識基本型別,從零開始,學習Python!

 

 

各位大大們,要是覺得有用就點個關注,加個評論給小編一個鼓勵吧

梳理Python基礎認識基本型別,從零開始,學習Python!