從零開始學Python 四 變數與基本資料型別

2021-08-14 22:00:57 字數 4232 閱讀 2195

上一章我們簡單的了解了一下python的**縮排,基礎的輸出語句,多行語句和單行多行注釋,今天我們來了解下python的變數與基本資料型別,讓我們在以後的程式設計中,對各種型別瞭如指掌!

為了方便給下面各種資料型別做詳解,我們首先學習一下變數的賦值,python中的賦值和其他語言的賦值類似,都是用=號從右到左賦值,也支援連續賦值.(注意:python中定義乙個變數的時候,變數型別是可以省略的,只需要寫變數名,系統會自動判斷該變數名對應的型別是什麼)

具體看下圖:

counter = 100 # 賦值整型變數

miles = 1000.0 # 浮點型

name = "john" # 字串

a = b = c = 1 #連續賦值

python中定義了五種標準的資料型別,來進行變數和賦值(注意這些型別都是物件哦).

numbers(數字)

string (字串)

list (列表)

tuple (元組)

dictionary (字典)

下面我們將會對五種資料型別做一一詳解.

1.numbers (數字)資料型別

從字面解釋我們就可以看出,numbers資料型別一般都是用來儲存數值

他們是不可改變的資料型別,這意味著改變量字資料型別會分配乙個新的物件.

當你指定乙個值得時候,numbers物件就會被建立:

a=1 #自動建立了乙個變數名為a的物件引用

b=2

我們也可以對物件的引用進行刪除

del a   #單獨刪除乙個物件的引用

del a,b #同時對多個物件引用進行刪除

numbers支援四種基本的數字型別:

下面對五種型別舉例:

intfloat

long

complex

1051924361l

0.03.14j

tips:我們一般用l來表示長整型,當然也可以用小寫的l,但為了和1區分,建議用大寫,

python 還支援複數,複數由實數部分和虛數部分構成,可以用 a + bj,或者 complex(a,b) 表示, 複數的實部 a 和虛部 b 都是浮點型。

2.string (字串)資料型別

上一章我們也講了字串的表示方式,這裡我們詳細定義以下:字串是由雙單引號(雙引號,三引號也行)和字母,數字,下劃線組成.

str='abcdefg_2gt' #由數字字母,下劃線組成
2.1 python字串支援兩種取值順序:

如果我們需要擷取一段字串,我們可以通過變數[頭下標:尾下標]來進行擷取,下標可以為空,表示取到尾,如下例:

s='abcdef' 

b=s[1:3] #擷取頭下標為1,尾下標為3的字元

b2=s[1:] #擷取頭下標為1,尾下標未指定

b3=s[1] #擷取頭下標為1,尾下標未指定

print b

print b2

print b3

輸出:

bc   #s[1:3] 擷取的字串

bcdef #s[1:] 擷取的字串

b #s[1]擷取的字串

2.2 字串連線

加號(+)是字串連線運算子,星號(*)是重複操作,如下圖:

>>> a='abcdef'+'hkl'; print a

abcdefhkl #輸出

>>> a='abc'*2 ;print a

abcabc #輸出

3.list 列表

list(列表) 是 python 中使用最頻繁的資料型別。(屬於有序的物件型別)

列表可以完成大多數集合類的資料結構實現。它支援字元,數字,字串甚至可以包含列表(即巢狀)。

列表用 [ ] 標識,是 python 最通用的復合資料型別。

列表中值的切割也可以用到變數 [頭下標:尾下標] ,就可以擷取相應的列表,從左到右索引預設 0 開始,從右到左索引預設 -1 開始,下標可以為空表示取到頭或尾。

加號 + 是列表連線運算子,星號 * 是重複操作。如下例項:

ul=['a','b','c','d','e']

lk=['g','f']

print ul[0]

print ul[1:3]

print ul[1:]

print ul[:3]

print ul+lk

print lk*2

執行結果:

a

['b', 'c']

['b', 'c', 'd', 'e']

['a', 'b', 'c']

['a', 'b', 'c', 'd', 'e', 'g', 'f']

['g', 'f', 'g', 'f']

4. tuple 元組

元組和列表類似,一般用()來表示,他和列表最大的區別在於,元組裡面的內容是不可變的,列表是可變的.相當於唯讀列表,以下是示例:

#codint=utf-8

ul=('a','b','c','d','e')

lk=('g','f')

# ul[2]='h' #次句**會報錯,因為元組內容是不允許更新賦值的

print ul[0]

print ul[1:3]

print ul[1:]

print ul[:3]

print ul+lk

print lk*2

輸出結果:

a

('b', 'c')

('b', 'c', 'd', 'e')

('a', 'b', 'c')

('a', 'b', 'c', 'd', 'e', 'g', 'f')

('g', 'f', 'g', 'f')

5. dictionary字典型別

字典型別也是python種最常用的資料型別之一,基本我們很多地方都會用到, 比如json資料解析,爬蟲資料解析等等,我們最後都會將解析的資料組成乙個字典型別,方便儲存和交換賦值.字典型別屬於無序的集合物件型別,裡面的值一般都是用鍵值對的方式儲存.

字典用」」標識。字典由索引(key)和它對應的值value組成。

ul=

print ul #輸出整個字典物件

print ul['a1'] #輸出鍵為a1的value值

print ul[2] #輸出鍵為2的value值

print ul.keys() #輸出所有的鍵

print ul.values() #輸出所有value

執行結果:

b111

['a1', 'a3', 'a2', 2]

['b', 'e', 'd', '111']

有時候,我們需要對資料型別的變數進行轉換,一般我們只需要將資料型別變數名作為函式即可.如下圖:

函式描述

int(x [,base])

將x轉換為乙個整數

long(x [,base] )

將x轉換為乙個長整數

float(x)

將x轉換到乙個浮點數

complex(real [,imag])

建立乙個複數

str(x)

將物件 x 轉換為字串

repr(x)

將物件 x 轉換為表示式字串

eval(str)

用來計算在字串中的有效python表示式,並返回乙個物件

tuple(s)

將序列 s 轉換為乙個元組

list(s)

將序列 s 轉換為乙個列表

set(s)

轉換為可變集合

dict(d)

建立乙個字典。d 必須是乙個序列 (key,value)元組。

frozenset(s)

轉換為不可變集合

chr(x)

將乙個整數轉換為乙個字元

unichr(x)

將乙個整數轉換為unicode字元

ord(x)

將乙個字元轉換為它的整數值

hex(x)

將乙個整數轉換為乙個十六進製制字串

oct(x)

將乙個整數轉換為乙個八進位制字串

從零開始學Python

第三章 字典 1.建立字典 book 其中值可以是任意型別,可以是元組或者字典.2.dict函式建立字典 通過對映建立 book d book.dict 輸出d book 通過關鍵字建立 d dict name zq age 1 輸出d 3.字典的格式化字串 鍵 s 字典名 book name is...

從零開始學Python

第十一章 檔案操作 1.開啟檔案 用open 函式,直接用就可以。open name mode buffering 呼叫open 之後會返回乙個檔案物件,mode 模式,buffering 緩衝都是可以選擇的。f open r 檔案路徑 2.檔案模式 r 讀模式 w 寫模式 a 追加模式 b 二進位...

零開始學python 從零開始學Python

第1章 python入門 1 1 1 什麼是python 1 1 2 python語言有什麼特點 2 1 3 python可以幹什麼 4 練一練 5 第2章 準備開發環境 6 2 1 在windows上安裝python開發環境 6 2 2 選擇和安裝開發工具 11 練一練 17 第3章 基本概念 1...