上一章我們簡單的了解了一下python的代碼縮進,基礎(chǔ)的輸出語句,多行語句和單行多行注釋,今天我們來了解下python的變量與基本數(shù)據(jù)類型,讓我們在以后的編程中,對各種類型了如指掌!
變量的賦值
為了方便給下面各種數(shù)據(jù)類型做詳解,我們首先學習一下變量的賦值,python中的賦值和其他語言的賦值類似,都是用=號從右到左賦值,也支持連續(xù)賦值.(注意:python中定義一個變量的時候,變量類型是可以省略的,只需要寫變量名,系統(tǒng)會自動判斷該變量名對應(yīng)的類型是什么)
具體看下圖:
counter = 100 # 賦值整型變量
miles = 1000.0 # 浮點型
name = "John" # 字符串
a = b = c = 1 #連續(xù)賦值
五種標準數(shù)據(jù)類型
python中定義了五種標準的數(shù)據(jù)類型,來進行變量和賦值(注意這些類型都是對象哦).
- Numbers(數(shù)字)
- String (字符串)
- List (列表)
- Tuple (元組)
- Dictionary (字典)
下面我們將會對五種數(shù)據(jù)類型做一一詳解.
1.Numbers (數(shù)字)數(shù)據(jù)類型
從字面解釋我們就可以看出,numbers數(shù)據(jù)類型一般都是用來存儲數(shù)值
他們是不可改變的數(shù)據(jù)類型,這意味著改變數(shù)字數(shù)據(jù)類型會分配一個新的對象.
當你指定一個值得時候,Numbers對象就會被創(chuàng)建:
a=1 #自動創(chuàng)建了一個變量名為a的對象引用
b=2
我們也可以對對象的引用進行刪除
del a #單獨刪除一個對象的引用
del a,b #同時對多個對象引用進行刪除
Numbers支持四種基本的數(shù)字類型:
- int (整型)
- float (浮點型)
- long (長整型)
- complex (復數(shù)類型)
下面對五種類型舉例:
| int | float | long | complex |
|---|---|---|---|
| 10 | 51924361L | 0.0 | 3.14j |
Tips:我們一般用L來表示長整型,當然也可以用小寫的l,但為了和1區(qū)分,建議用大寫,
Python 還支持復數(shù),復數(shù)由實數(shù)部分和虛數(shù)部分構(gòu)成,可以用 a + bj,或者 complex(a,b) 表示, 復數(shù)的實部 a 和虛部 b 都是浮點型。
2.String (字符串)數(shù)據(jù)類型
上一章我們也講了字符串的表示方式,這里我們詳細定義以下:字符串是由雙單引號(雙引號,三引號也行)和字母,數(shù)字,下劃線組成.
str='abcdefg_2gt' #由數(shù)字字母,下劃線組成
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 中使用最頻繁的數(shù)據(jù)類型。(屬于有序的對象類型)
列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 標識,是 python 最通用的復合數(shù)據(jù)類型。
列表中值的切割也可以用到變量 [頭下標:尾下標] ,就可以截取相應(yīng)的列表,從左到右索引默認 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
運行結(jié)果:
a
['b', 'c']
['b', 'c', 'd', 'e']
['a', 'b', 'c']
['a', 'b', 'c', 'd', 'e', 'g', 'f']
['g', 'f', 'g', 'f']
4. Tuple 元組
元組和列表類似,一般用()來表示,他和列表最大的區(qū)別在于,元組里面的內(nèi)容是不可變的,列表是可變的.相當于只讀列表,以下是示例:
#codint=utf-8
ul=('a','b','c','d','e')
lk=('g','f')
# ul[2]='h' #次句代碼會報錯,因為元組內(nèi)容是不允許更新賦值的
print ul[0]
print ul[1:3]
print ul[1:]
print ul[:3]
print ul+lk
print lk*2
輸出結(jié)果:
a
('b', 'c')
('b', 'c', 'd', 'e')
('a', 'b', 'c')
('a', 'b', 'c', 'd', 'e', 'g', 'f')
('g', 'f', 'g', 'f')
5. Dictionary字典類型
字典類型也是python種最常用的數(shù)據(jù)類型之一,基本我們很多地方都會用到, 比如json數(shù)據(jù)解析,爬蟲數(shù)據(jù)解析等等,我們最后都會將解析的數(shù)據(jù)組成一個字典類型,方便存儲和交換賦值.字典類型屬于無序的集合對象類型,里面的值一般都是用鍵值對的方式存儲.
字典用"{ }"標識。字典由索引(key)和它對應(yīng)的值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
運行結(jié)果:
{'a1': 'b', 'a3': 'e', 'a2': 'd', 2: '111'}
b
111
['a1', 'a3', 'a2', 2]
['b', 'e', 'd', '111']
Python類型轉(zhuǎn)換
有時候,我們需要對數(shù)據(jù)類型的變量進行轉(zhuǎn)換,一般我們只需要將數(shù)據(jù)類型變量名作為函數(shù)即可.如下圖:
| 函數(shù) | 描述 |
|---|---|
| int(x [,base]) | 將x轉(zhuǎn)換為一個整數(shù) |
| long(x [,base] ) | 將x轉(zhuǎn)換為一個長整數(shù) |
| float(x) | 將x轉(zhuǎn)換到一個浮點數(shù) |
| complex(real [,imag]) | 創(chuàng)建一個復數(shù) |
| str(x) | 將對象 x 轉(zhuǎn)換為字符串 |
| repr(x) | 將對象 x 轉(zhuǎn)換為表達式字符串 |
| eval(str) | 用來計算在字符串中的有效Python表達式,并返回一個對象 |
| tuple(s) | 將序列 s 轉(zhuǎn)換為一個元組 |
| list(s) | 將序列 s 轉(zhuǎn)換為一個列表 |
| set(s) | 轉(zhuǎn)換為可變集合 |
| dict(d) | 創(chuàng)建一個字典。d 必須是一個序列 (key,value)元組。 |
| frozenset(s) | 轉(zhuǎn)換為不可變集合 |
| chr(x) | 將一個整數(shù)轉(zhuǎn)換為一個字符 |
| unichr(x) | 將一個整數(shù)轉(zhuǎn)換為Unicode字符 |
| ord(x) | 將一個字符轉(zhuǎn)換為它的整數(shù)值 |
| hex(x) | 將一個整數(shù)轉(zhuǎn)換為一個十六進制字符串 |
| oct(x) | 將一個整數(shù)轉(zhuǎn)換為一個八進制字符串 |
Q&A
以上就是基本類型的全部內(nèi)容啦,這是基礎(chǔ)的重中之重,希望大家能夠在日后的學習中,慢慢的牢記所有類型的用法.下一章節(jié),博主將帶領(lǐng)你了解一下python的一些常用的函數(shù)語句