1. 程式人生 > >從零開始學Python(四):變數與基本資料型別

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

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

變數的賦值

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

counter = 100 # 賦值整型變數
miles = 1000.0 # 浮點型
name = "John" # 字串
a = b = c = 1  #連續賦值

五種標準資料型別

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

  1. Numbers(數字)
  2. String (字串)
  3. List (列表)
  4. Tuple (元組)
  5. Dictionary (字典)

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

1.Numbers (數字)資料型別

從字面解釋我們就可以看出,numbers資料型別一般都是用來儲存數值
他們是不可改變的資料型別,這意味著改變數字資料型別會分配一個新的物件.

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

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

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

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

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

  • int (整型)
  • float (浮點型)
  • long (長整型)
  • complex (複數型別)

下面對五種型別舉例:

int float long complex
10 51924361L 0.0 3.14j

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

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

2.String (字串)資料型別

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

str='abcdefg_2gt' #由數字字母,下劃線組成
2.1 python字串支援兩種取值順序:
  • 從左到右索引預設0開始的,最大範圍是字串長度少1
  • 從右到左索引預設-1開始的,最大範圍是字串開頭

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

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={'a1':'b','a2':'d','a3':'e',2:'111'}


print ul    #輸出整個字典物件
print ul['a1']  #輸出鍵為a1的value值
print ul[2]    #輸出鍵為2的value值
print ul.keys()   #輸出所有的鍵
print ul.values() #輸出所有value

執行結果:

{'a1': 'b', 'a3': 'e', 'a2': 'd', 2: '111'}
b
111
['a1', 'a3', 'a2', 2]
['b', 'e', 'd', '111']

Python型別轉換

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

函式 描述
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) 將一個整數轉換為一個八進位制字串

Q&A

以上就是基本型別的全部內容啦,這是基礎的重中之重,希望大家能夠在日後的學習中,慢慢的牢記所有型別的用法.下一章節,博主將帶領你瞭解一下python的一些常用的函式語句