您好,登錄后才能下訂單哦!
博文大綱
- 一、Python介紹
- 二、Python的變量
- 三、Python常用的數據類型
1、數字
2、字符串
3、元組
4、列表
5、字典
Python是一種動態解釋型的編程語言。Python它簡單易學、功能強大、支持面向對象、函數式編程,可以在Windows、Linux等多種操作系統上使用,同時Python可以在Java、.net等開發平臺上使用,因此,它也被成為“膠水語言”。
Python使用c語言開發,但是不再有c語言中的指針等復雜數據類型。Python的簡潔性使得軟件的代碼大幅度地減少,開發任務進一步簡化。
Python具有豐富的庫,它的標準庫很龐大,可以幫助處理各種工作,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、TK和其他與系統有關的操作。
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中的字符串類型是一組包含數字、字母和符號的集合,作為一個整體使用。
1、字符串使用
在Python中有三種表示字符串的方式,單引號、雙引號、三引號,示例如下:
>>> name = '呂建釗' #單引號示范
>>> motto = "每天進步一點點" #雙引號示范
>>> content = '''命運給你一個比別人低的起點, #三引號示范
是為了讓你用一生去奮斗一個絕地反擊的故事。'''
>>> print (name)
呂建釗
>>> print (motto)
每天進步一點點
>>> print (content)
命運給你一個比別人低的起點,
是為了讓你用一生去奮斗一個絕地反擊的故事。
變量name使用單引號,變量motto使用雙引號,變量content使用三引號,他們都是合法的Python字符串類型,需要注意的是,單引號和雙引號的作用是一樣的,可以根據習慣使用,但是定義多行文字時,必須要使用三引號。
2、使用字符串注意事項
字符串的定義方式單引號、雙引號、三引號大部分情況下作用是相同的,但在特殊情況下使用也有所區別,下面是需要注意的地方。
(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!
常用的轉義符如下所示:
3、字符串的其他使用方法
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()才可正常執行。
———————— 本文至此結束,感謝閱讀 ————————
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。