博文大綱python
- 1、Python介紹
- 2、Python的變量
- 3、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的語句可使用打開後的初始界面shell模式,每輸入一行按enter鍵代碼立刻執行。以下界面:
數據結構
又或者按「Ctrl+N」快捷鍵,能夠打開IDLE的編輯模式,這種方式比較經常使用,按「Ctrl+N」快捷鍵後會出現如下界面(將要執行的代碼,寫入後保存便可,而後運行,也能夠直接按「F5」鍵運行):
關於變量這個概念,和其餘語言相似,都是計算機內存中的一塊區域,變量能夠存儲任何值,並且值能夠改變。變量名由字母、數字和下劃線組成,須要注意的是,不能使用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)
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的字符串能夠進行乘法的操做,能夠用一個整型數字和字符串相乘,如用數字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中的一種數據結構,由不一樣的元素組成,每一個元素能夠存儲不一樣類型的數據,如字符串、數字、甚至元組,可是元組是不可修改的。即元組建立後不能作任何的修改操做,元組一般表示一行數據,而元組中的元素表示不一樣的數據項。
元組和列表的區別以下:
在使用元組與列表區別並不大,主要是由於元組是不可變的,操做速度比列表塊,並且由於它不可修改,數據要更加安全,因此要根據實際狀況決定是使用元組仍是列表,使程序更加高效。
(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()纔可正常執行。
———————— 本文至此結束,感謝閱讀 ————————