最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中的組合數(shù)據(jù)類(lèi)型、函數(shù)詳解

 更新時(shí)間:2025年11月27日 10:24:48   作者:一招定勝負(fù)  
本文介紹了Python中的三種組合數(shù)據(jù)類(lèi)型:列表、元組和字典,并詳細(xì)講解了字典類(lèi)型的方法、遍歷、維度及項(xiàng)目案例,還介紹了函數(shù)的定義、形參、實(shí)參、默認(rèn)參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)、變量作用范圍、global聲明、導(dǎo)入其他模塊的函數(shù)及__name__屬性,感興趣的朋友跟一起看看吧

python的組合數(shù)據(jù)類(lèi)型

python里有三種組合數(shù)據(jù)類(lèi)型:列表、元組和字典。列表上一篇博客我已經(jīng)介紹過(guò)了。

1、元組

元組和列表是比較相似的,可以存放多種數(shù)據(jù)類(lèi)型,只是不能進(jìn)行刪除、添加元素等操作。元組使用形式:

(元素1,元素2,元素3...)

元組類(lèi)型用tuple表示,可以用tuple()創(chuàng)建一個(gè)空的元組或者進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換。

2、字典

字典類(lèi)型也是與列表相似,存放多種數(shù)據(jù)類(lèi)型,但是以鍵值對(duì)的方式存放:

{鍵1:值1,鍵2:值2,鍵3:值3,...}

字典中鍵必須是獨(dú)一無(wú)二的,不能隨意修改,因此鍵的數(shù)據(jù)類(lèi)型不能是列表和字典;值可以與相同的,可以是任意數(shù)據(jù)類(lèi)型。字典數(shù)據(jù)類(lèi)型用dict表示,可以用dict()表示一個(gè)空的字典。

a=dict()#創(chuàng)建一個(gè)空字典 
a[1]="張三"#創(chuàng)立一個(gè)鍵為1,值是張三的鍵值對(duì)
print(a[1])#打印a[1]鍵值對(duì)

1、字典類(lèi)型的方法:

.clear():刪除字典中元素,得到一個(gè)空字典。若要?jiǎng)h除整個(gè)字典可以使用保留字del。如del a。

.get(參數(shù)1,參數(shù)2):查詢(xún)字典中鍵為參數(shù)1的值,若查找成功則返回鍵對(duì)應(yīng)的值;若失敗則返回參數(shù)2,如果沒(méi)輸入?yún)?shù)2,則返回none。

.keys():獲得字典中所有鍵的信息。

.value():獲得字典中所有的值信息。

.item():獲取字典中所有的鍵值對(duì)。

.pop(參數(shù)):刪除字典中鍵為參數(shù)的鍵值對(duì),同時(shí)返回這個(gè)鍵值對(duì)的值。

2、字典的遍歷:

之前的博客講過(guò),print()函數(shù)中有一個(gè)默認(rèn)參數(shù)end="\n"用來(lái)?yè)Q行,這里我用end=""表示不換行,用end="\t"表示縮進(jìn)。

3、數(shù)據(jù)的維度

在python中列表可以表示一維和二維的數(shù)據(jù),字典可以表示高維的數(shù)據(jù)。

4、項(xiàng)目案例:學(xué)生投票系統(tǒng)

l=[]  #創(chuàng)建一個(gè)列表用于存儲(chǔ)學(xué)生姓名
while True:
    name=input("請(qǐng)輸入投票的名字:")
    if name!="結(jié)束":
        l.append(name)
    else:
        break   #while循環(huán)來(lái)統(tǒng)計(jì)投票直到輸入結(jié)束
b=dict()  #創(chuàng)建一個(gè)空的字典
for c in l:
    b[c]=b.get(c,0)+1   #依次遍歷列表中的名字,每出現(xiàn)一次,在字典中的值加一
print(b)  #輸出字典

函數(shù)

函數(shù)相當(dāng)于為了實(shí)現(xiàn)特定功能而編寫(xiě)的一個(gè)小工具,避免了每次實(shí)現(xiàn)該功能都要重復(fù)寫(xiě)代碼。前面用過(guò)的print()是python已經(jīng)寫(xiě)好的內(nèi)置函數(shù)。我們也可以自定義新的函數(shù),形式如下:

def 函數(shù)名(參數(shù)):
        代碼塊
        return 返回值

1、形參與實(shí)參:

定義函數(shù)時(shí)的參數(shù)稱(chēng)之為形參,調(diào)用函數(shù)時(shí)輸入的函數(shù)稱(chēng)之為實(shí)參。

2、默認(rèn)參數(shù):

定義函數(shù)時(shí)給形參賦的值。這樣調(diào)用函數(shù)的時(shí)候,如果沒(méi)給形參賦值,函數(shù)會(huì)使用默認(rèn)參數(shù);如果給這個(gè)形參賦了值,會(huì)覆蓋默認(rèn)參數(shù)。

3、可變參數(shù):

不確定函數(shù)中需要接受的參數(shù)個(gè)數(shù)時(shí),可以使用可變參數(shù),可變參數(shù)會(huì)以元組的數(shù)據(jù)類(lèi)型來(lái)接受參數(shù)。正因?yàn)椴淮_定參數(shù)的個(gè)數(shù),可變參數(shù)必須要放在必填參數(shù)的右邊,確保必填參數(shù)接收完數(shù)據(jù),再將剩下的數(shù)據(jù)傳給可變參數(shù),形式:*參數(shù)。

4、關(guān)鍵字參數(shù):

關(guān)鍵字參數(shù)和可變參數(shù)類(lèi)似,區(qū)別在于以字典類(lèi)型來(lái)存儲(chǔ)接收到的數(shù)據(jù),因此傳遞給關(guān)鍵字參數(shù)的數(shù)據(jù)需要包含鍵和值,鍵和值用等號(hào)連接。使用形式:**參數(shù)。

5、變量作用范圍可能產(chǎn)生的問(wèn)題:

函數(shù)中定義的變量為局部變量。①如果函數(shù)中沒(méi)有定義和函數(shù)外部定義的全局變量a,函數(shù)中可以正常使用全局變量a。②如果函數(shù)內(nèi)部和外部都定義了變量a,但是函數(shù)內(nèi)部先定義局部變量再使用,會(huì)正常使用局部變量a。③如果函數(shù)內(nèi)部和外部同時(shí)定義了變量a,而且函數(shù)先使用變量a,再去定義一個(gè)局部變量a,這時(shí)運(yùn)行代碼會(huì)報(bào)錯(cuò)a未被定義:

原因:

Python 中變量的作用域遵循LEGB 原則,對(duì)于全局變量(Global)和函數(shù)局部變量(Local):

     ①函數(shù)內(nèi)未定義同名局部變量時(shí),會(huì)向上查找全局變量;

     ②函數(shù)內(nèi)定義了同名局部變量時(shí),該變量會(huì)被標(biāo)記為局部變量,且 Python沒(méi)有 “變量提升” 機(jī)制(和 JavaScript 不同),必須先定義再使用,否則報(bào)錯(cuò)。

6、global聲明全局變量

上面變量變量作用范圍的問(wèn)題,其實(shí)也是因?yàn)殡m然局部變量和全局變量同名,但在內(nèi)存使用的不是同一片空間。在函數(shù)內(nèi)部使用global聲明和全局變量a同名的變量,此時(shí)局部變量和全局變量a占用同一片存儲(chǔ)空間,在函數(shù)內(nèi)部對(duì)a進(jìn)行修改,外部的全局變量a也會(huì)隨之改變。

7、導(dǎo)入其他模塊的函數(shù)

如果自己不想寫(xiě),或者函數(shù)很復(fù)雜,可以導(dǎo)入他人已經(jīng)寫(xiě)好的函數(shù),一般在文件開(kāi)頭導(dǎo)入,有兩種方式:

①導(dǎo)入文件:import 文件名

   調(diào)用方法:文件名.函數(shù)()

這種方法相當(dāng)于在文件首行導(dǎo)入了其他文件的全部代碼,執(zhí)行時(shí),被導(dǎo)入文件的代碼會(huì)順序執(zhí)行,跳過(guò)函數(shù)部分,當(dāng)調(diào)用函數(shù)時(shí),函數(shù)才會(huì)被使用,相當(dāng)于把兩個(gè)文件拼接在一起。

②導(dǎo)入文件中的函數(shù):

        導(dǎo)入文件中指定函數(shù):from 文件名 impact 函數(shù)名

        導(dǎo)入文件中全部函數(shù):from 文件名 impact *

        調(diào)用方法:函數(shù)名()

給導(dǎo)入的函數(shù)/文件設(shè)置別名:from 文件名 impact 函數(shù)名 as 新的函數(shù)名

                                                impact 文件名 as 新的模塊名

8、_ _name_ _屬性

這玩意用來(lái)獲得當(dāng)前文件的名稱(chēng),如果位于主文件會(huì)返回“_ _main_ _",如果位于次文件(導(dǎo)入的文件)會(huì)返回導(dǎo)入的文件名。此屬性一般用來(lái)測(cè)試當(dāng)前文件是不是主文件。

9、lambda匿名函數(shù)

用于定義簡(jiǎn)單的函數(shù),且可以作為形參。

使用形式:

        函數(shù)名=lambda 參數(shù):函數(shù)內(nèi)代碼

到此這篇關(guān)于python中的組合數(shù)據(jù)類(lèi)型、函數(shù)詳解的文章就介紹到這了,更多相關(guān)python組合數(shù)據(jù)類(lèi)型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

高青县| 晋城| 南华县| 喀喇沁旗| 温泉县| 平凉市| 湘乡市| 海淀区| 桓台县| 长宁区| 三亚市| 磐石市| 手机| 贺兰县| 甘泉县| 阿巴嘎旗| 通许县| 新密市| 万年县| 来安县| 山西省| 景洪市| 昆明市| 文昌市| 三明市| 呼伦贝尔市| 通渭县| 越西县| 榆树市| 聂拉木县| 紫云| 波密县| 汝阳县| 青河县| 天峻县| 星子县| 子长县| 盐山县| 忻城县| 樟树市| 张北县|