溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python基礎(chǔ)詳解

發(fā)布時(shí)間:2020-07-16 21:26:57 來(lái)源:網(wǎng)絡(luò) 閱讀:371 作者:筱振 欄目:編程語(yǔ)言

現(xiàn)階段,掌握一門(mén)開(kāi)發(fā)語(yǔ)言已經(jīng)成為高級(jí)運(yùn)維工程師的必備技能。學(xué)習(xí)并掌握一門(mén)程序設(shè)計(jì)語(yǔ)言,可以使我們充分理解企業(yè)的業(yè)務(wù)處理流程,幫助軟件開(kāi)發(fā)人員調(diào)試,優(yōu)化程序,提升應(yīng)用系統(tǒng)的運(yùn)行性能。

博文大綱:
一、Python概述
1.Python的語(yǔ)言特點(diǎn)
2.Python語(yǔ)言的應(yīng)用場(chǎng)景
二、Python的版本與安裝
1.Python繪圖
2.Python的變量
三、Python常用的數(shù)據(jù)類型
1.數(shù)字
2.字符串
3.列表
4.元組
5.字典

一、Python概述

1.Python的語(yǔ)言特點(diǎn)

Python是一種動(dòng)態(tài)解釋型的編程語(yǔ)言。使用C語(yǔ)言開(kāi)發(fā),但是Python不再有C語(yǔ)言中的指針等復(fù)雜數(shù)據(jù)類型。Python的簡(jiǎn)潔性使得軟件的代碼大幅度地建撒謊哦,開(kāi)發(fā)任務(wù)進(jìn)一步簡(jiǎn)化。程序員關(guān)注的重點(diǎn)不再是語(yǔ)法特性,而是程序所要實(shí)現(xiàn)的任務(wù)。

Python語(yǔ)言的主要特點(diǎn):
(1)簡(jiǎn)單:Python語(yǔ)言的關(guān)鍵字比較少,它沒(méi)有分號(hào),代碼使用空格或制表鍵縮進(jìn)的方式來(lái)進(jìn)行分隔,簡(jiǎn)化了循環(huán)語(yǔ)句。Python的代碼簡(jiǎn)潔、短小、易于閱讀;
(2)易學(xué):Python及其容易上手,因?yàn)镻ython有極其簡(jiǎn)單的說(shuō)明文檔;
(3)免費(fèi)、開(kāi)源:使用者可以自由地發(fā)布這個(gè)的軟件的復(fù)制,閱讀它的源代碼。對(duì)它進(jìn)行改動(dòng),把它的一部分用于新的自由軟件中;
(4)高層語(yǔ)言:無(wú)需考慮諸如如何管理內(nèi)存一類的底層細(xì)節(jié);
(5)可移植性:Python已經(jīng)被移植在許多平臺(tái)上(經(jīng)過(guò)改動(dòng)使它能夠工作在不同的平臺(tái)上),這些平臺(tái)包括Linux、Windows等;
(6)解釋性:Python語(yǔ)言寫(xiě)的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序;
在計(jì)算機(jī)內(nèi)部,Python解釋器把袁大媽轉(zhuǎn)換成成為字節(jié)碼的中間形式,然后再把它編譯成計(jì)算機(jī)使用的機(jī)器語(yǔ)言并運(yùn)行。
(7)面向?qū)ο螅篜ython既支持面向過(guò)程的編程也支持面向?qū)ο蟮木幊蹋?br/>(8)可擴(kuò)展性:Python是采用C語(yǔ)言開(kāi)發(fā)的,因此可以使用C語(yǔ)言廓鎮(zhèn)Python;
(9)可嵌入性:可以吧Python嵌入C/C++程序,從而使程序面向用戶提供腳本功能;
(10)豐富的庫(kù):Python標(biāo)準(zhǔn)庫(kù)很龐大,可以幫助處理各種工作,包括正則表達(dá)式、文檔生成、單元測(cè)試、線程、數(shù)據(jù)庫(kù)、網(wǎng)頁(yè)瀏覽器、CGI、FTP‘電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、T可其他與系統(tǒng)有關(guān)的操作;

2.Python語(yǔ)言的應(yīng)用場(chǎng)景

Python之所以成為流行的編程語(yǔ)言,與他廣泛的應(yīng)用場(chǎng)景是分不開(kāi)的。
(1)系統(tǒng)編程:能方便進(jìn)行系統(tǒng)維護(hù)和管理,是很多Linux系統(tǒng)管理員理想的編程工具;
(2)圖形處理:有PIL、Tkinter等圖形庫(kù)支持,能方便進(jìn)行圖形處理;
(3)數(shù)學(xué)處理:NumPy擴(kuò)展提供大量與標(biāo)準(zhǔn)數(shù)學(xué)庫(kù)的接口;
(4)文本處理:Python提供的re模塊能支持正則表達(dá)式,還提供SGML、XML分析模塊;
(5)數(shù)據(jù)庫(kù)編程:Python可以操作SQL server、MYSQL、Oracle等數(shù)據(jù)庫(kù);
(6)網(wǎng)絡(luò)編程:提供豐富的模塊,支持sockets編程,能方便快速地開(kāi)發(fā)分布式應(yīng)用程序;
(7)Web編程:可以作為Web應(yīng)用程序的開(kāi)發(fā)語(yǔ)言;
(8)多媒體應(yīng)用:Python的PyOpenGL模塊封裝了“OpenGL應(yīng)用程序編程接口”,能進(jìn)行二維和三維圖像處理。

二、Python的版本與安裝

目前Python有版本2和版本3這兩個(gè)版本,它們之間并不兼容,語(yǔ)法存在差別。許多Python初學(xué)者比較糾結(jié),其實(shí)無(wú)所謂,就看個(gè)人興趣愛(ài)好。版本之間有差異,也只是語(yǔ)法上有一些區(qū)別??傮w思路沒(méi)有任何變化。本次博文使用Python 2.7.13版本在Windows系統(tǒng)進(jìn)行操作。

Python的安裝比較簡(jiǎn)單,開(kāi)發(fā)工具IDLE也會(huì)被同時(shí)安裝。用戶可以自行在https://www.python.org/ python官網(wǎng)進(jìn)行下載,也可以使用本人提供的Python 2.7.13版本軟件包

Python的安裝方法相對(duì)簡(jiǎn)單,IDLE工具圖形界面可以根據(jù)自身的需要進(jìn)行需要。這里就不介紹了。

1.Python繪圖

繪圖除了Python語(yǔ)言,別的語(yǔ)言即使可以實(shí)現(xiàn),也是相當(dāng)麻煩,使用Python就可以很輕松的使用。

(1)安裝繪圖模塊

本人提供的軟件包已經(jīng)包含了繪圖所需的模塊。雙擊安裝即可!如圖:

Python基礎(chǔ)詳解
Python基礎(chǔ)詳解
然后打開(kāi)CMD命令提示符,執(zhí)行以下命令:

C:\Users\Administrator>cd C:\six-1.7.3\six-1.7.3
//首先進(jìn)入six-1.7.3軟件包解壓之后的目錄中
C:\six-1.7.3\six-1.7.3>c:\python27/python setup.py install
//使用Python命令進(jìn)行安裝

上述安裝完成之后,就可以使用matplotlib模塊進(jìn)行繪圖操作了。

上述在執(zhí)行python命令時(shí),使用的是絕對(duì)路徑,當(dāng)然也可加入系統(tǒng)環(huán)境變量中。這里就不多說(shuō)了!

(2)Python繪圖

打開(kāi)IDLE工具:
Python基礎(chǔ)詳解
Python基礎(chǔ)詳解
輸入以下代碼

import turtle as tt
from random import randint
tt.TurtleScreen._RUNNING = True
tt.speed(0)  # 繪圖速度為最快
tt.bgcolor("black")  # 背景色為黑色
tt.setpos(-25, 25)  # 改變初始位置,這可以讓圖案居中
tt.colormode(255)  # 顏色模式為真彩色
cnt = 0
while cnt < 500:
    r = randint(0, 255)
    g = randint(0, 255)
    b = randint(0, 255)
    tt.pencolor(r, g, b)  # 畫(huà)筆顏色每次隨機(jī)
    tt.forward(50 + cnt)
    tt.right(91)
    cnt += 1
tt.done()

即可出現(xiàn):
Python基礎(chǔ)詳解
動(dòng)態(tài)的出現(xiàn)這種效果圖,這就是Python的強(qiáng)大之處!

2.Python的變量

變量是計(jì)算機(jī)內(nèi)存中的一塊區(qū)域,變量可以存儲(chǔ)任何指,而且值可以改變;變量名稱可以由字母、數(shù)字和下劃線組成。需要注意的是,不能使用Python的關(guān)鍵字,英文大小寫(xiě)字母敏感,第一個(gè)字符必須是字母或下劃線,不可以是數(shù)字。比如:

>>> lzj_1=1
>>> print(lzj_1)
1
>>> _lzj2=2
>>> print (_lzj2)
2                                                     //正確的賦值方法
>>> #a=1
>>> 3k=1
>>> print=1                                           //錯(cuò)誤的賦值方法

Python中的變量不需要聲明,變量的賦值操作即是變量聲明和定義的過(guò)程,也可以同時(shí)給多個(gè)變量賦值。比如:

>>> a,b,c=1,2,3
>>> print a,b,c
1 2 3
>>> print a
1

三、Python常用的數(shù)據(jù)類型

Python內(nèi)置的數(shù)據(jù)類型有數(shù)字、字符串、元祖、列表和字典。

1.數(shù)字

數(shù)字類型包括整數(shù)、浮點(diǎn)型、布爾型等,聲明時(shí)由Python內(nèi)置的基本數(shù)據(jù)類型來(lái)管理變量,在程序的后臺(tái)實(shí)現(xiàn)數(shù)值與類型的關(guān)聯(lián),以及轉(zhuǎn)換等操作。

(1)整數(shù)型和浮點(diǎn)型

>>> aaa=123
>>> print (id(aaa))
13568080
>>> print aaa
123
>>> aaa=1.23
>>> print (id(aaa))
13582176
>>> print aaa
1.23
//雖然變量名稱一樣,但是變量名對(duì)應(yīng)的ID號(hào)不一致
//最后一次賦值的變量生效

(2)布爾型

布爾型用于邏輯運(yùn)算,只有兩個(gè)值True、False,表示真和假。

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

代碼定義了變量“f=True”,if是判斷語(yǔ)句,為真則執(zhí)行“print”語(yǔ)句,最后輸出的是1,說(shuō)明語(yǔ)句執(zhí)行成功。

使用比較運(yùn)算符返回的結(jié)果就是布爾值。比如:

>>> 2>3
False
>>> 2>1
True

(3)Python運(yùn)算符

Python中使用的算術(shù)運(yùn)算符和數(shù)學(xué)運(yùn)算中使用的符號(hào)基本相同,由+、-、*、/和小括號(hào)組成,運(yùn)算順序也是先乘除后加減,小括號(hào)優(yōu)先。比如:

>>> x,y=10,2
>>> print x+y,x*y,x/y
12 20 5
>>> print 5 + 2 * 10
25
>>> print (5 + 2) * 3
21
>>> print 5 + 8 * 3 / 4
11

還可以實(shí)現(xiàn)兩個(gè)算術(shù)運(yùn)算符,分別是:“%”(取余運(yùn)算)和“**”(求冪運(yùn)算),比如:

>>> 8%5
3
>>> 2**3
8

注意:Python不支持自增運(yùn)算符(++)和自減運(yùn)算符(- -)。

2.字符串

Python中的字符串是一組包含數(shù)字、字母和符號(hào)的集合,作為一個(gè)整體使用。

(1)字符串使用

在Python中有三種表示字符串的方式:?jiǎn)我?hào)、多引號(hào)、三引號(hào)。比如:

>>> name='北京'
>>> name1="天津"
>>> name2='''北京和
天津'''
>>> print name
北京
>>> print name1
天津
>>> print name2
北京和
天津

需要注意的是:?jiǎn)我?hào)和雙引號(hào)的作用是一樣的,可以根據(jù)習(xí)慣使用,但定義多行文字時(shí),必須使用三引號(hào)。

( 2)使用字符串注意事項(xiàng)

字符串的定義方式單引號(hào)、雙引號(hào)、三引號(hào)大部分情況下作用都是一樣的。但在特殊情況下使用也有所區(qū)別,比如:

(1)單引號(hào)、雙引號(hào)、三引號(hào)都是成對(duì)出現(xiàn)的,如意單引號(hào)開(kāi)頭就要以單引號(hào)結(jié)尾, 不能混合使用表示字符串。比如:

>>> name="北京'
SyntaxError: EOL while scanning string literal
>>> name="北京''
SyntaxError: EOL while scanning string literal                     //這都是錯(cuò)誤的寫(xiě)法

(2)如果字符串中單獨(dú)出現(xiàn)單引號(hào)或雙引號(hào),可以使用另一種引號(hào)進(jìn)行定義,比如:

>>> n="let's go!"                //內(nèi)容中單引號(hào)使用雙引號(hào)定義
>>> print n
let's go!
>>> n='let"s go!'               //內(nèi)容中有雙引號(hào)使用單引號(hào)定義
>>> print n
let"s go!
>>> n='''let's go! let"s go!'''            //內(nèi)容中單引號(hào)、雙引號(hào)時(shí)使用三引號(hào)定義
>>> print n
let's go! let"s go!

(3)當(dāng)字符串中出現(xiàn)單引號(hào)、雙引號(hào)等特殊字符是,還可以使用轉(zhuǎn)義字符定義。Python中的轉(zhuǎn)義字符還是“\”,只要在特殊字符前面加上“\”,就可以原樣輸出,而不用去管定義字符使用的是單引號(hào)還是雙引號(hào)。比如:

>>> n='let\' go!'
>>> print n
let' go!
>>> n="let\"s go!"
>>> print n
let"s go!

常用的轉(zhuǎn)義字符,如圖:

Python基礎(chǔ)詳解

(3)字符串的其他用法

Python的字符串可以進(jìn)行乘法的操作,可以用一個(gè)整數(shù)型數(shù)字和字符串進(jìn)行相乘,比如:

>>> print 3*'a'
aaa

Python的字符串乘法非常實(shí)用,可以在寫(xiě)代碼時(shí)帶來(lái)很大的便利。比如:

>>> a=' '                       
>>> print a

>>> print "python"
python
>>> print a*2 + "python"
  python
>>> print a*4 + "python"
    python

定義了一個(gè)空格字符串變量a,在輸出是使用字符串乘法決定輸出的格式,很容易地實(shí)現(xiàn)了文字前面的空格,在其他語(yǔ)言中如果想要實(shí)現(xiàn)這種效果,代碼要復(fù)雜得多,Python的簡(jiǎn)潔性體現(xiàn)得十分明顯。

3.列表

列表是Python中非常重要的數(shù)據(jù)類型,通常作為函數(shù)的返回類型。由一組元素組成,列表可以實(shí)現(xiàn)添加、刪除和查找操作,元素值可以被修改。

(1)列表的定義

列表是Python內(nèi)置的一種數(shù)據(jù)結(jié)構(gòu),由中括號(hào)定義,元素以逗號(hào)分開(kāi)。語(yǔ)法格式:

列表名 = [ 元素1,元素2,…… ]

(2)列表的取值

(1)列表中的數(shù)據(jù)是有序的,按定義時(shí)的順序拍好,可以單獨(dú)取出某一位置元素的數(shù)值,語(yǔ)法如下:

列表名 [ 索引位置 ]

如下:

>>> num=['001','002','003']
>>> print num[0]
001
>>> print num [1]
002
>>> print num [2]
003

定義了列表num,存儲(chǔ)了3個(gè)字符串。取值時(shí)用列表名+中括號(hào),中括號(hào)中的數(shù)字表示索引位置,需要注意位置是由0開(kāi)始依次遞增。

(2)可以獲取列表制定范圍的一組元素,語(yǔ)法如下:

列表名[起始位置:終止位置]

可以輸出起始位置到終止位置前的元素,不包括終止位置。比如:

>>> print num [0:1]
['001']
>>> print num [0:2]
['001', '002']
>>> print num [0:3]
['001', '002', '003']

[0:1]表示由索引0開(kāi)始,索引位置1之前的元素,所以只能取到第1個(gè)元素;
[0:2]可以取到索引2之前的元素,即列表中第1、2個(gè)元素;
[0:3]可以取到索引2之前的元素,即列表中第1、2、3個(gè)元素;
并不顯示終止的值,比如[0:3],只顯示0,1,2這三個(gè)數(shù)字。

(3)修改列表元素值

可以修改制定位置的列表元素值,語(yǔ)法如下:

列表名[索引位置]=值

比如:

>>> num=['001','002','003']
>>> num [0] = '004'
>>> print num
['004', '002', '003']

定義列表是,索引位置0的元素是001,修改它的值為004后,索引位置0元素變成了004。

(4)添加列表元素

(1)可以把一個(gè)元素添加到列表的最后,語(yǔ)法如下:

列表名.append[元素值]

比如:

>>> num=['001','002','003']
>>> print num
['001', '002', '003']
>>> num.append('004')                         //將004數(shù)值添加到列表的末尾
>>> print num
['001', '002', '003', '004']

(2)在列表指定位置前插入新的元素,語(yǔ)法如下:

列表名.insert(索引位置,元素值)

比如:

>>> num=['001','002','003']
>>> num.insert (1,'004')                  //將004數(shù)值插入到索引1的位置
>>> print num
['001', '004', '002', '003']

(5)刪除列表元素

可以刪除列表指定索引位置的元素,語(yǔ)法如下:

del 列表名[索引位置]

比如:

>>> num=['001','002','003']
>>> del num[1]                      //刪除位于索引1的數(shù)據(jù)
>>> print num
['001', '003']

(6)查找列表元素

使用in關(guān)鍵字可以查找列表中是否存在指定的數(shù)值,語(yǔ)法如下:

元素值 in 列表名

返回的值是布爾類型False或True。

比如:

>>> num=['001','002','003']
>>> '001' in num
True
>>> '004' in num
False

(7)合并列表

多個(gè)列表可以使用“+”號(hào)進(jìn)行合并,比如:

>>> num1=['001','002']
>>> num2=['003','004']
>>> numall=num1+num2
>>> print numall
['001', '002', '003', '004']
>>> numall=num2+num1
>>> print numall
['003', '004', '001', '002']

使用加號(hào)進(jìn)行合并時(shí),加號(hào)后面的列表元素會(huì)追加到前面列表的后面。

(8)重復(fù)列表

使用星號(hào)可以對(duì)列表進(jìn)行重復(fù)操作,與單獨(dú)字符串乘法操作相似,比如:

>>> num1=['001','002']
>>> num=num1*5
>>> print num
['001', '002', '001', '002', '001', '002', '001', '002', '001', '002']

(9)列表常見(jiàn)的問(wèn)題

(1)索引越界是使用列表時(shí)經(jīng)常犯的一個(gè)錯(cuò)誤,如列表中有3個(gè)元素,因?yàn)樗饕恢檬?開(kāi)始計(jì)算的,所以最大的索引值是2,如果索引值大于2,則表示索引是越界的,程序無(wú)法執(zhí)行,比如:

>>> num1=['001','002']
>>> print num1[2]

Traceback (most recent call last):
  File "<pyshell#17>", line 1, in <module>
    print num1[2]
IndexError: list index out of range

那么但當(dāng)使用小于0的負(fù)數(shù)索引時(shí),不會(huì)出現(xiàn)錯(cuò)誤,因?yàn)镻ython列表的負(fù)數(shù)索引表示的是由列表的末尾進(jìn)行反向的取值,也就是最后一個(gè)元素的位置也可以使用索引-1取值,以此類推。比如:

>>> num1=['001','002']
>>> print num1[-1]
002

(2)當(dāng)獲取列表指定范圍的一組元素時(shí),不存在列表索引越界的問(wèn)題。比如:

>>> num1=['001','002']
>>> num=num1[1:5]
>>> print num
['002']

可以發(fā)現(xiàn)正常執(zhí)行,并報(bào)錯(cuò),只是將滿足條件的值列出來(lái)而已!

(3)獲取列表指定范圍時(shí)可以同時(shí)使用正數(shù)和負(fù)數(shù)索引。比如:

>>> num=['001','002','003']
>>> print num[0:-1]
['001', '002']

一樣的道理,也是不顯示終止位置的值。

(4)列表元素也可以是列表。比如:

>>> num=[['001','002','003'],['001','002','003'],['001','002','003']]
>>> print num[0]                    //取列表的第0個(gè)標(biāo)簽的值
['001', '002', '003']
>>> print num[0][0]                      //取列表中第0個(gè)標(biāo)簽的第0個(gè)值
001
>>> print num [2][1]
002

4.元組

元祖和列表相似,也是Python的一種數(shù)據(jù)結(jié)構(gòu),由不同的元素組成,每個(gè)元素可以存儲(chǔ)不同類型的數(shù)據(jù),比如:字符串、數(shù)字、甚至元祖,但是元素是不可以被修改的,即元祖創(chuàng)建后不能進(jìn)行任何的修改。元祖通常表示一行數(shù)據(jù),而元組中的元素表示不同的數(shù)據(jù)。

(1)元組的創(chuàng)建

元組由關(guān)鍵字小括號(hào)定義,一旦創(chuàng)建后就不能修改元組的內(nèi)容,語(yǔ)法如下:

元組名=(元素1,元素2……)

比如:

>>> num=('001','002','003')                //定義元組
>>> num[0] = '004'                   //嘗試修改元組的值時(shí),會(huì)報(bào)錯(cuò)

Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    num[0] = '004'
TypeError: 'tuple' object does not support item assignment

元組與列表的區(qū)別,如圖:
Python基礎(chǔ)詳解

(2)元組的操作

元祖也可對(duì)其元素執(zhí)行一系列的操作。
(1)元組具有不可變性,所以相對(duì)列表的操作要少,其中取值操作與列表的方式是完全相同的,如下:

>>> num=('001','002','003')
>>> print num[0]                   //進(jìn)行查詢
001

(2)元組不允許刪除元組中的元素值,但是可以刪除整個(gè)元組。語(yǔ)法:

del 元組名

比如:

>>> num=('001','002','003')
>>> del num[0]                        //試圖刪除元組中某一個(gè)元素時(shí),會(huì)報(bào)錯(cuò)

Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    del num[0]
TypeError: 'tuple' object doesn't support item deletion
>>> print num
('001', '002', '003')
>>> del num                        //刪除整個(gè)元組時(shí),不會(huì)報(bào)錯(cuò)
>>> print num                      //再次進(jìn)行查詢時(shí),編譯器會(huì)報(bào)未定義變量的錯(cuò)誤

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

(3)元組和列表可以做互相轉(zhuǎn)換操作:

元組轉(zhuǎn)換為列表的語(yǔ)法:

list(列表名)

比如:

>>> num=('001','002','003')                     //定義元組
>>> listnum=list(num)                                  //將元組轉(zhuǎn)換為列表
>>> print listnum                           
['001', '002', '003']
>>> listnum[0]='004'                       //修改列表的內(nèi)容
>>> print listnum
['004', '002', '003']
>>> print type(num)                             //輸出元組類型
<type 'tuple'>
>>> print type(listnum)                      //輸出列表類型
<type 'list'>

列表轉(zhuǎn)換為元組的語(yǔ)法如下:

tuple (列表名)

比如:

>>> num=['001','002','003']             //定義列表
>>> tuplenum=tuple(num)                   //將列表轉(zhuǎn)換為元組
>>> print type(num)                   //輸出列表類型
<type 'list'>
>>> print type(tuplenum)             //輸出元組類型
<type 'tuple'>

5.字典

字典是Python中重要的數(shù)據(jù)類型,字典是由”鍵-值“對(duì)組成的集合,字典中的值通過(guò)鍵來(lái)引用。

(1)字典的創(chuàng)建

字典的每個(gè)元素是由”鍵-值“對(duì)組成的,鍵值之間使用冒號(hào)進(jìn)行分隔,鍵值對(duì)之間用逗號(hào)進(jìn)行分隔,并且被包含在一對(duì)花括號(hào)中,鍵是唯一的,不能存在多個(gè),且它的值是無(wú)序的,鍵可以是數(shù)字、字符串、元組,一版用字符串作為鍵。定義的語(yǔ)法如下:

字典名={鍵1:值,鍵2:值,……}

比如:

>>> mobile={'ll':123456,'zz':654321}              //定義字典
>>> print mobile                                            //輸出字典內(nèi)容
{'ll': 123456, 'zz': 654321}
>>> print type(mobile)                                  //輸出字典的類型
<type 'dict'>

(2)字典的取值操作

字典的取值與元組和列表有所不同,元組和列表都是通過(guò)數(shù)字索引獲取對(duì)應(yīng)位置的值,而字典是通過(guò)鍵獲取對(duì)應(yīng)的值。取值的語(yǔ)法如下:

字典[鍵]

比如:

>>> mobile={'ll':123456,'zz':654321}
>>> print mobile['ll']
123456

需要注意的是,鍵是唯一的,而不同鍵的值卻可以相同,當(dāng)定義多個(gè)鍵相同時(shí),字典之后保留最后一個(gè)定義的鍵值對(duì)。

(3)字典的添加、修改、刪除操作

(1)字典添加新元素只需要對(duì)新鍵進(jìn)行賦值即可,字典中不存在的鍵,便會(huì)自動(dòng)添加。比如:

>>> mobile={'ll':123456,'zz':654321}
>>> mobile['jj']=987654
>>> print mobile
{'ll': 123456, 'jj': 987654, 'zz': 654321}

(2)修改字典中的元素,直接使用存在的鍵賦值。比如:

>>> mobile={'ll': 123456, 'jj': 987654, 'zz': 654321}
>>> mobile['ll']=321456
>>> print mobile
{'ll': 321456, 'zz': 654321, 'jj': 987654}

(3)刪除字典中的元素,使用del函數(shù)。比如:

>>> mobile={'ll': 123456, 'jj': 987654, 'zz': 654321}
>>> del mobile['ll']
>>> print mobile
{'zz': 654321, 'jj': 987654}

(4)字典中常見(jiàn)的問(wèn)題

字典不可使用“+”運(yùn)算符執(zhí)行連續(xù)操作。比如:

>>> mobile1={'qq':123,'ww':456}
>>> mobile2={'aa':321,'ss':654}
>>> print mobile1+mobile2

Traceback (most recent call last):
  File "<pyshell#30>", line 1, in <module>
    print mobile1+mobile2
TypeError: unsupported operand type(s) for +: 'dict' and 'dict'

(5)字典的應(yīng)用示例

腳本內(nèi)容:

kgc={}                                 //接收用戶鍵盤(pán)輸入的用戶名和密碼
name='--please input user:'
user=raw_input(name)                //raw_input表示:讀取標(biāo)準(zhǔn)輸入的字符串
pwd=raw_input("password:")
kgc[user] =pwd
print kgc                        //根據(jù)用戶名查詢密碼
name = '--user searched:'                        
key=raw_input(name)
print kgc[key]

執(zhí)行后的效果:

--please input user:lv
password:123
{'lv': '123'}
--user searched:lv
123

———————— 本文至此結(jié)束,感謝閱讀 ————————

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI