Python開發基礎之Python經常使用的數據類型

博文大綱python

  • 1、Python介紹
  • 2、Python的變量
  • 3、Python經常使用的數據類型
    一、數字
    二、字符串
    三、元組
    四、列表
    五、字典

1、Python介紹

Python是一種動態解釋型的編程語言。Python它簡單易學、功能強大、支持面向對象、函數式編程,能夠在Windows、Linux等多種操做系統上使用,同時Python能夠在Java、.net等開發平臺上使用,所以,它也被成爲「膠水語言」。web

Python使用c語言開發,可是再也不有c語言中的指針等複雜數據類型。Python的簡潔性使得軟件的代碼大幅度地減小,開發任務進一步簡化。正則表達式

Python具備豐富的庫,它的標準庫很龐大,能夠幫助處理各類工做,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、TK和其餘與系統有關的操做。shell

Python之因此成爲流行的編程語言,和它普遍的應用場景是密不可分的。它能夠應用在如下場景:數據庫

  • 系統編程:能方便進行系統維護和管理,是不少Linux系統運維人員的理想編程工具。
  • 圖形處理:有PIL、Tkinter等圖形庫支持,能方便的進行圖形處理。
  • 數學處理:NumPy擴展提供大量與標準數學庫的接口。
  • 文本處理:Python提供的re模塊能支持正則表達式、還提供SGML、XML分析模塊。
  • 數據庫編程:Python能夠操做SQL server、oracle、MySQL等數據庫。
  • 網絡編程:提供豐富的模塊,支持sockets編程,能方便快速地開發分佈式應用程序。
  • web編程:能夠做爲web應用程序的開發語言。
  • 多媒體應用:Python的PyOpenGL模塊封裝了「OpenGL 應用程序編程接口」,能進行二維和三維圖像處理。PyGame模塊可用於編寫遊戲軟件。

目前Python有版本2和版本3這兩個版本,它們並不兼容,語法存在差異。對於初學者來講,不用糾結要使用哪一個版本,使用某個版本進行學習,等學的差很少了,再來研究不一樣版本間的區別便可(我這裏使用的是版本3)。編程

能夠在Python的官網下載相應平臺上的版本,Windows下的Python安裝比較簡單,基本上就是無腦下一步,這裏不過多介紹了。瀏覽器

Python使用的是IDLE開發工具,學習Python語言,首先要掌握開發工具IDLE,它能夠方便地運行代碼和作相關的調試,實現了代碼的語法加亮、代碼提示和代碼補全等相比較智能化的功能。安全

使用IDLE工具時,能夠經過單擊如下打開:
Python開發基礎之Python經常使用的數據類型網絡

Python的語句可使用打開後的初始界面shell模式,每輸入一行按enter鍵代碼立刻執行。以下界面:
Python開發基礎之Python經常使用的數據類型數據結構

又或者按「Ctrl+N」快捷鍵,能夠打開IDLE的編輯模式,這種方式比較經常使用,按「Ctrl+N」快捷鍵後會出現如下界面(將要執行的代碼,寫入後保存便可,而後運行,也能夠直接按「F5」鍵運行):

Python開發基礎之Python經常使用的數據類型

2、Python的變量

關於變量這個概念,和其餘語言相似,都是計算機內存中的一塊區域,變量能夠存儲任何值,並且值能夠改變。變量名由字母、數字和下劃線組成,須要注意的是,不能使用Python的關鍵字,英文大小寫字母敏感,第一個字符必須是字母或下劃線,不能是數字。

以下:

定義變量的正確示例:

>>> var_1 = 1      #定義變量1
>>> var_2 = 2     #定義變量2
>>> >>> print var_1    #輸出定義的變量1
1
>>> print var_2       #輸出定義的變量2
2
>>> print (var_1,var_2)   #將變量1和變量2同時輸出
(1, 2)
#也能夠同時定義三個變量,以下:
>>> a,b,c = 1,2,3
>>> print a
1
>>> print b
2
>>> print c
3
>>> print (a,b,c)
(1, 2, 3)

3、Python經常使用的數據類型

Python內置的數據類型有數字、字符串、元組、列表和字典。

一、數字

數字類型包括整型、浮點型、布爾型等,聲明時由Python內置的基本數據類型來管理變量,在程序的後臺實現數值與類型的關聯,以及轉換等操做。根據變量的值自動判斷變量的類型,咱們無需關心變量空間是什麼類型,只要知道建立的變量中存放了一個數,程序只是對這個數值進行操做。

(1)整型和浮點型

整數使用整型表示,有小數位使用浮點型表示,代碼以下:

>>> x = 123
>>> print x
>>> print (x)
123
>>> x=1.98
>>> print (x)
1.98

上面代碼首先定義了變量x=123,此時的x值是整數,x就是整型變量,當x=1.98時,x又成爲了浮點型變量,由此能夠看出,變量的類型是能改變的,這是由於當Python給已經存在的變量再次賦值時,實際上時建立了一個新的變量,即便變量名相同,但標識並不相同,變量的標識可使用id函數輸出。

>>> x = 123
>>> print (id(x))
140714328191632
>>> x = 1.98
>>> print (id(x))
2151782266320

以上代碼都是對變量x的標識進行打印,賦值先後的標識並不相同。

(2)布爾型
1)布爾型用於邏輯運算,有兩個值True、False,表示真和假。

>>> f = True
>>> print (f)
True
>>> if(f):
    print (1)

1

代碼中定義了變量「f = True」,if是判斷語句,爲真則執行print語句,最後輸出的是1,說明語句執行成功。

2)使用比較運算符返回的結果是布爾值,

>>> 3>4
False     #假
>>> 4.115>2.1
True     #真

(3)Python運算符
Python中使用的算術運算符和數學運算中使用的符號基本相同,由+、-、*、/(加減乘除)和小括號組成,運算順序也是先乘除後加減,小括號優先,還有兩個運算符是%和**,分別是求模運算(取餘數),求冪運算(求平方)。
代碼示例:

>>> x,y = 10,2     #定義兩個變量
>>> print (x+y,x*y,x/y)     #計算這兩個變量的加乘除。
12 20 5.0
>>> print (5 + 8 * 3)
29
>>> print (5 + 8 * 3 / 4)
11.0
#如下分別是求模運算和求冪運算:
>>> 8%5
3
>>> 8%4
0
>>> 2**5
32
>>> 2**3
8

注意:Python不支持自增運算符++和自減運算符--。

二、字符串

Python中的字符串類型是一組包含數字、字母和符號的集合,做爲一個總體使用。

一、字符串使用

在Python中有三種表示字符串的方式,單引號、雙引號、三引號,示例以下:

>>> name = '呂建釗'              #單引號示範
>>> motto = "天天進步一點點"          #雙引號示範
>>> content = '''命運給你一個比別人低的起點,                     #三引號示範
是爲了讓你用一輩子去奮鬥一個絕地反擊的故事。'''
>>> print (name)
呂建釗
>>> print (motto)
天天進步一點點
>>> print (content)
命運給你一個比別人低的起點,
是爲了讓你用一輩子去奮鬥一個絕地反擊的故事。

變量name使用單引號,變量motto使用雙引號,變量content使用三引號,他們都是合法的Python字符串類型,須要注意的是,單引號和雙引號的做用是同樣的,能夠根據習慣使用,可是定義多行文字時,必需要使用三引號。

二、使用字符串注意事項
字符串的定義方式單引號、雙引號、三引號大部分狀況下做用是相同的,但在特殊狀況下使用也有所區別,下面是須要注意的地方。

(1)單引號、雙引號、三引號它們是成對出現的,如以單引號開頭就要以單引號結尾,不能混合使用表示字符串。以下代碼就會報錯:

>>> name = "呂建釗'         #開頭是雙引號,結尾是單引號,結果報錯。
SyntaxError: EOL while scanning string literal
>>> name = "呂建釗'''     #開頭是雙引號,結尾是三引號,也會報錯。
SyntaxError: EOL while scanning string literal

(2)若是字符串中單獨出現單引號或雙引號,可使用另外一種引號定義,以下:

>>> title ="let's Go"        #雙引號定義
>>> print (title)
let's Go
>>> title2 = 'let"s Go '         #單引號定義
>>> print (title2)
let"s Go 
>>> title3= '''let"s Go! let 's Go'''             #三引號定義
>>> print (title3)
let"s Go! let 's Go

以上字符串變量title中出現了單引號,須要使用雙引號定義,字符串變量title2中出現了雙引號,須要使用單引號定義。當字符串中同時出現單引號和雙引號,就須要使用三引號進行定義。
(3)當字符串中出現單引號、雙引號等特殊字符時,還可使用轉義字符定義。Python中的轉移字符是「\」,只要在特殊字符前面加上「\」,就能夠原樣輸出,而不用去管定義字符串使用的是單引號仍是雙引號,代碼以下:

>>> title = 'let\'s go!'       #轉移符單引號
>>> print (title)
let's go!
>>> title = "let\"s go!"      #轉義符雙引號
>>> print (title)
let"s go!

經常使用的轉義符以下所示:
Python開發基礎之Python經常使用的數據類型

三、字符串的其餘使用方法

Python的字符串能夠進行乘法的操做,能夠用一個整型數字和字符串相乘,如用數字3乘以字符串「a」,結果是字符串「aaa」,相同於字符串「a」鏈接了3遍。以下:

>>> print (3 * 'a')          #3乘以a
aaa
#如下是一個Python腳本文件
space = " "
print ("學習python")
print ( 2 * space + "學習python")
print (3 * space + "學習python")
#執行結果以下:
學習python
  學習python
   學習python

以上腳本文件是定義了一個空格字符串變量space,在輸出時使用字符串乘法決定輸出的格式,很容易地實現了文件前面的空格。而且十分簡潔。

三、列表

列表是Python中很是重要的數據類型,一般做爲函數的返回值。由一組元素組成,列表能夠實現添加、刪除和查找操做,元素值能夠被修改。
(1)定義列表及列表的取值

>>> num = ['001','002','003']            #定義一個列表
>>> print (num)               #將列表中的元素所有打印出來
['001', '002', '003']
>>> print (num[1])              #打印列表中位置1的元素
002
>>> print (num[0])              #打印列表中位置0的元素          
001
>>> print (num[2])             #打印列表中位置2的元素
003
#如下是列表的範圍取值
>>> print (num[0:2])               #列出位置0到位置2以前的元素
['001', '002']
>>> print (num[0:-1])  #也能夠用負數,-1表示最後一個元素的位置,-2表示倒數第二個位置,以此類推。
['001', '002']
>>> print (num[0:-2])      #列出從位置0到倒數第2個位置的元素
['001']
>>> print (num[0:5])          #列出位置0到位置5的元素,因爲列表中的元素只有三個,因此只列出了三個
['001', '002', '003']

從上面能夠看出,列表取值時用列表名加上中括號,數字表示索引位置,須要注意位置是由0開始依次遞增的。

(2)修改列表元素值

>>> print (num)           #先查看列表的元素
['001', '002', '003']
>>> num[0] = '004'       #將位置0的元素改成004
>>> print (num)          #確認更改結果
['004', '002', '003']

(3)添加列表中的元素

>>> print (num)              #輸出列表查看
['004', '002', '003']
>>> num.append ('005')            #添加一個元素,值爲「005」
>>> print (num)             #確認添加成功
['004', '002', '003', '005']              
>>> num.insert(0,'001')                #在位置0插入一個元素,值爲「001」
>>> print (num)            #確認插入成功
['001', '004', '002', '003', '005']

(4)刪除列表元素

>>> print (num)                 #查看列表內容
['001', '004', '002', '003', '005']
>>> del num[4]              #刪除列表中位置4,也就是最後一個元素
>>> print (num)                #查看確認
['001', '004', '002', '003']
>>> del num               #刪除整個列表
>>> print (num)               #再次查看會報錯「沒有找到該列表」
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    print (num)
NameError: name 'num' is not defined

(5)查找列表元素

>>> num = ['001','002','003']            #從新定義一個列表
>>> '002' in num               #查找「002」,存在,返回true
True
>>> '005' in num               #查找「005」,不存在,返回false
False

(6)合併列表

>>> num1 =['001','002']                  #定義列表num1
>>> num2 =['003','004']                 #定義列表num2
>>> num = num1 + num2                #定義列表num,元素爲列表num1和num2
>>> print (num)                  #輸出列表num,結果是列表num1和num2的元素整合
['001', '002', '003', '004']
>>> print (num2 + num1)             #也能夠這樣合併顯示
['003', '004', '001', '002']

(7)重複列表

>>> print (num)           #輸出列表num
['001', '002', '003', '004']     
>>> print (num * 3)              #將列表num乘以3後輸出
['001', '002', '003', '004', '001', '002', '003', '004', '001', '002', '003', '004']

(8)列表常見問題
1)索引越界是使用列表時常犯的一個錯誤,如列表中有4個元素,由於索引的位置是從0開始計算的,因此最大的索引值是3,若是索引值大於3,表示索引時越界的,程序沒法執行,以下:

>>> print (num)           #查看列表中的元素
['001', '002', '003', '004']
>>> print (num[5])                #查看位置5的元素,索引越界了,因此會報錯。
Traceback (most recent call last):
  File "<pyshell#34>", line 1, in <module>
    print (num[5])
IndexError: list index out of range

2)當獲取列表指定範圍的一組元素時,不存在列表索引越界的問題,代碼以下:

>>> print (num)          #查看列表
['001', '002', '003', '004']
>>> print (num[0:5])               #輸出位置0到位置5以內的元素值。
['001', '002', '003', '004']

3)列表元素也能夠是列表,代碼以下:

>>> num = [['001','002'],['003','004'],['005','006']]          #將列表元素定義爲列表
>>> print (num)             #輸出查看結果
[['001', '002'], ['003', '004'], ['005', '006']]
>>> print (num[0])       #查看列表num位置0的元素
['001', '002']
>>> print (num[0][0])     #查看列表num位置0中的位置0的元素,有點繞哈!
001
>>> print (num[2][1])        #查看列表num位置2中的位置1的元素
006

四、元組

(1)元組簡介
元組和列表類似,也是Python中的一種數據結構,由不一樣的元素組成,每一個元素能夠存儲不一樣類型的數據,如字符串、數字、甚至元組,可是元組是不可修改的。即元組建立後不能作任何的修改操做,元組一般表示一行數據,而元組中的元素表示不一樣的數據項。

元組和列表的區別以下:
Python開發基礎之Python經常使用的數據類型
在使用元組與列表區別並不大,主要是由於元組是不可變的,操做速度比列表塊,並且由於它不可修改,數據要更加安全,因此要根據實際狀況決定是使用元組仍是列表,使程序更加高效。

(2)元組操做

>>> print (num)               #定義一個元組
('001', '002', '003')
>>> num[3] = '004'             #試着更改一個元組中的元素,結果確定是報錯咯!
Traceback (most recent call last):
  File "<pyshell#48>", line 1, in <module>
    num[3] = '004'
TypeError: 'tuple' object does not support item assignment
>>> print (num[0])            #取值操做和列表徹底同樣

001
>>> print (num[2])           #取值操做和列表徹底同樣

003
>>> del num[0]              #元組不容許刪除某個元素

Traceback (most recent call last):
  File "<pyshell#53>", line 1, in <module>
    del num[0]
TypeError: 'tuple' object doesn't support item deletion
>>> del num                #但能夠刪除整個元組

>>> print (num)         #再次查看,就會報錯元組名不存在了

Traceback (most recent call last):
  File "<pyshell#55>", line 1, in <module>
    print (num)
NameError: name 'num' is not defined

(3)元組和列表的互相轉換

元組和列表能夠作互相轉換操做,代碼以下:

>>> num = ('001','002','003')          #定義一個元組
>>> print (type(num))             #查看num的類型

<class 'tuple'>               #「tuple」的意思爲元組
>>> numlist = ['004','005','006']        #定義一個列表
>>> print (type(numlist))       #確認類型爲列表

<class 'list'>        #「list」就是列表的意思
#如下操做是將列表轉換爲元組,將元組轉換爲列表
>>> NUM = list(num)    #將元組轉爲list的語法就是「list()」,這裏是將元組num轉換爲列表NUM

>>> print (type(NUM))               #查看轉換後的類型

<class 'list'>     #類型是列表,沒問題
>>> NumList = tuple(numlist)     #將列表轉換爲元組的語法就是「tuple()」,這裏是將列表numlist轉換爲元組NumList

>>> print (type(NumList))          #查看轉換後的類型

<class 'tuple'>    #類型是元組,沒問題

五、字典

字典(dict)是Python中重要的數據類型,字典是由「鍵-值」對組成的集合,字典中的值經過鍵來引用。

(1)字典的建立及取值

>>> mobile = {'zhangsan':'123456','lisi':'234567','wangwu':'345678'}    #建立一個字典,名稱爲「mobile」

>>> print (mobile)     #輸出字典中的內容

{'zhangsan': '123456', 'lisi': '234567', 'wangwu': '345678'}
#字典的取值和列表及元組不一樣,元組和列表都是經過數字索引取值的,而字典是經過鍵獲取相對應的值。以下:
>>> print (mobile["zhangsan"])        #查詢zhangsan對應的值

123456
>>> print (mobile["wangwu"])       #查詢wangwu對應的值

345678

須要注意的是,字典中的鍵必須是惟一的,而不一樣鍵的值卻能夠相同,當定義多個鍵相同時,只有最後一次定義的生效,也就是說,後面定義的會覆蓋前面已經存在的鍵值對。

(2)字典的添加、修改、刪除操做

#向字典中添加數據
>>> print (mobile)    #列出當前字典中的值

{'zhangsan': '123456', 'lisi': '234567', 'wangwu': '345678'}
>>> mobile['zhaosi'] = '6666666'      #添加新的鍵值對

>>> print (mobile)       #查看是否添加

{'zhangsan': '123456', 'lisi': '234567', 'wangwu': '345678', 'zhaosi': '6666666'}
#修改字典中的鍵值對
>>> mobile['zhangsan'] = '2222222'     #修改已存在的鍵值對,直接覆蓋便可

>>> print (mobile)      #查看是否修改爲功

{'zhangsan': '2222222', 'lisi': '234567', 'wangwu': '345678', 'zhaosi': '6666666'}
#刪除字典中的鍵值對
>>> del mobile['zhangsan']       #刪除zhangsan的鍵值對

>>> print (mobile)     #查看是否刪除

{'lisi': '234567', 'wangwu': '345678', 'zhaosi': '6666666'}

注意,字典不能使用「+」運算符執行鏈接操做。

(3)字典的應用舉例

kgc = {}
name = '--please input user:'
user = input("name:")
pwd = input("password:")
kgc [user] = pwd
print (kgc)
name = '--user searched:'
key = input(name)
print (kgc[key])

上面的代碼首先定義了一個空的字典,用於存儲用戶名和密碼的「鍵-值」對,而後使用input()函數接受鍵盤的輸入的用戶名及密碼,保存到字典kgc中,最後是使用鍵盤輸入一個用戶名,在字典中查找它對應的鍵。

執行結果以下:

name:lv jian zhao
password:123456
{'lv jian zhao': '123456'}
--user searched:lv jian zhao
123456

注意:以上腳本是基於Python 版本3編寫的,若使用的是Python 版本2,則須要將其中的input()函數,換成raw_input()纔可正常執行。

———————— 本文至此結束,感謝閱讀 ————————

相關文章
相關標籤/搜索