上一章我們簡單的了解了一下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...