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

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

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

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

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

1、元組

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

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

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

2、字典

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

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

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

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

1、字典類型的方法:

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

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

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

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

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

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

2、字典的遍歷:

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

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

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

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

l=[]  #創(chuàng)建一個(gè)列表用于存儲學(xué)生姓名
while True:
    name=input("請輸入投票的名字:")
    if name!="結(jié)束":
        l.append(name)
    else:
        break   #while循環(huán)來統(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)特定功能而編寫的一個(gè)小工具,避免了每次實(shí)現(xiàn)該功能都要重復(fù)寫代碼。前面用過的print()是python已經(jīng)寫好的內(nèi)置函數(shù)。我們也可以自定義新的函數(shù),形式如下:

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

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

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

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

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

3、可變參數(shù):

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

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

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

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

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

原因:

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

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

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

6、global聲明全局變量

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

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

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

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

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

這種方法相當(dāng)于在文件首行導(dǎo)入了其他文件的全部代碼,執(zhí)行時(shí),被導(dǎo)入文件的代碼會順序執(zhí)行,跳過函數(shù)部分,當(dāng)調(diào)用函數(shù)時(shí),函數(shù)才會被使用,相當(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_ _屬性

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

9、lambda匿名函數(shù)

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

使用形式:

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

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

相關(guān)文章

最新評論

三河市| 平乐县| 同江市| 云阳县| 文山县| 阳春市| 海伦市| 宜宾县| 珲春市| 安塞县| 高唐县| 德钦县| 南投县| 马鞍山市| 利津县| 长武县| 合水县| 界首市| 黄平县| 河间市| 武邑县| 饶河县| 龙川县| 徐州市| 青浦区| 牙克石市| 温泉县| 汾阳市| 美姑县| 揭东县| 河西区| 寻甸| 新疆| 宁乡县| 寻乌县| 扎赉特旗| 宜宾县| 邮箱| 阳春市| 嘉荫县| 延庆县|