record
1.列表
1.1.數(shù)據(jù):[元素1, 元素2, 元素3, ……] - 元素是任何類型的數(shù)據(jù)
1.2.特點:可變始花、有序
1.3.支持的相關(guān)操作:+, *, ==, !=, in/not in, len(), list()
1.4.什么時候使用:需要保存的多個數(shù)據(jù)是相同性質(zhì)的數(shù)據(jù)
2.元組
2.1.數(shù)據(jù):(元素1君编,元素2,元素3呐矾,……) - 元素是任何類型的數(shù)據(jù)
元素1,元素2贱迟,元素3,……
變量1絮供,變量2衣吠,…… = 元組
變量1,*變量2壤靶,……= 元組
2.2.特點:不可變缚俏,有序
2.3.支持的相關(guān)操作:+, *, ==, !=, in/not in, len(), tuple()
2.4.什么時候使用:存儲數(shù)據(jù)的時候一般不主動使用元組。主要是在使用函數(shù)的過程中經(jīng)常遇到元組
3.字典
3.1.數(shù)據(jù):{鍵1:值1贮乳,鍵2:值2忧换,……} - 鍵:不可變、唯一 值:任何類型的數(shù)據(jù)
3.2.特點:可變向拆、無序
3.3.支持的相關(guān)操作:==, !=, in/not in, len(), dict()
3.4.什么時候使用:同事存儲的多個數(shù)據(jù)需要區(qū)分(性質(zhì)不同)
4.集合
4.1.數(shù)據(jù):{元素1亚茬,元素2,元素3浓恳,……} - 元素不可變刹缝、唯一
4.2.特點:可變碗暗,無序
4.3.支持的相關(guān)操作:數(shù)據(jù)集合運(yùn)算、in/not in梢夯、len()言疗、set()
4.4.什么時候使用:去重、對數(shù)據(jù)的處理涉及到數(shù)學(xué)集合運(yùn)算
補(bǔ)充:is的使用
==和is的區(qū)別
python中所有的變量都是保存的數(shù)據(jù)在內(nèi)存中的地址厨疙;
用一個變量給另外一個變量賦值洲守,實質(zhì)將變量中存儲的地址賦過去疑务;
使用變量實質(zhì)是使用變量中地址對應(yīng)的內(nèi)存區(qū)域里面的值
==:判斷兩個變量地址對應(yīng)的值是否相等
is :判斷兩個變量存儲的地址是否相等
list1 = [1, 2]
list2 = [1, 2]
print(id(list1), id(list2))
print(list1 == list2) # True
print(list1 is list2) # False
list3 = list1
print(id(list1), id(list3))
print(list1 == list3) # True
print(list1 is list3) # True
function
1.什么是函數(shù)
函數(shù)就是對實現(xiàn)某一特定功能的代碼塊的封裝
2.函數(shù)的分類
2.1.系統(tǒng)函數(shù)(內(nèi)置函數(shù)) - 系統(tǒng)已經(jīng)實現(xiàn)函數(shù)(已經(jīng)造好的機(jī)器)沾凄,程序員只需要調(diào)用就行
print函數(shù)、input函數(shù)知允、len函數(shù)撒蟀、sum函數(shù)、max函數(shù)等
2.2.自定義函數(shù) - 程序員自己聲明的函數(shù)(自己造機(jī)器)
2.3.函數(shù)的聲明(定義)
2.3.1.語法:
def 函數(shù)名(形參列表):
函數(shù)體
2.3.2.說明:
def - python聲明函數(shù)的關(guān)鍵字
函數(shù)名 - 和變量名要求一樣
見名知義(看到函數(shù)名大概知道函數(shù)的功能)
() - 固定寫法
形參列表 - 變量名1温鸽,變量名2保屯,變量名3……(根據(jù)情況變量名的個數(shù)可以是0個、1個或者多個)
形參的作用是將函數(shù)外部的數(shù)據(jù)傳遞到函數(shù)的內(nèi)部
: - 固定寫法
函數(shù)體 - 和def保持一個縮緊的一條或者多條語句涤垫。(實現(xiàn)函數(shù)功能的代碼塊)
2.3.3初學(xué)者聲明函數(shù)的步驟
第一步:確定函數(shù)的功能
第二步:根據(jù)功能確定函數(shù)名
第三步:確定形參(看實現(xiàn)函數(shù)的功能需不需要從外部傳值姑尺,如果需要確定傳幾個)
第四步:實現(xiàn)函數(shù)的功能
第五步:確定返回值
(!r疴G畜!)注意:函數(shù)聲明的時候榆芦,函數(shù)體不會執(zhí)行
def two_sum(x, y):
"""
函數(shù)說明文檔(功能文檔)寫到一行可以直接看到
:param x: 參數(shù)說明
:param y: 參數(shù)說明
:return: 返回值說明
"""
return x + y
2.4.函數(shù)的調(diào)用
2.4.1.語法
函數(shù)名(實參列表)
2.4.2.說明
函數(shù)名 - 已經(jīng)聲明過的函數(shù)
() - 固定寫法
實參列表 - 數(shù)據(jù)1柄粹,數(shù)據(jù)2,數(shù)據(jù)3匆绣,……(實參是用來給形參賦值)
2.4.3.函數(shù)調(diào)用過程(特別重要Wび摇!F榇尽)
第一步:先回到函數(shù)聲明的位置
第二步:用實參給形參賦值堪夭。(這個過程又叫傳參,傳參要保證每個形參都有值)
第三步:執(zhí)行函數(shù)體
第四步:回到函數(shù)調(diào)用的位置拣凹,接著往后執(zhí)行
3.函數(shù)的參數(shù)
3.1.位置參數(shù)和關(guān)鍵字參數(shù)
調(diào)用函數(shù)時候根據(jù)實參的寫法分位置參數(shù)和關(guān)鍵字參數(shù)
位置參數(shù):讓實參的順序和形參一一對應(yīng)森爽,中間用逗號隔開
關(guān)鍵字參數(shù):形參 = 實參
3.2.參數(shù)默認(rèn)值
聲明函數(shù)的時候,可以給形參賦默認(rèn)值咐鹤。有默認(rèn)值的形參拗秘,在調(diào)用函數(shù)的時候可以不用給這個形參賦值
注意:聲明時有默認(rèn)值的參數(shù)要放在沒有默認(rèn)值的參數(shù)的后面
3.3.參數(shù)的類型說明
python中類型只有說明的作用,沒有約束的作用
3.3.1.參數(shù)賦默認(rèn)值
3.3.2.參數(shù)名:類型(說明類型)
3.4.不定長參數(shù)
聲明函數(shù)的時候祈惶,在形參的前面加*雕旨,那么這個參數(shù)就變成不定長參數(shù)扮匠,可以同時接受多個位置實參(將這個參數(shù)變成元組)
聲明函數(shù)的時候,在形參的前面加**凡涩,那么這個參數(shù)也會變成不定長參數(shù)棒搜,可以同時接收多個關(guān)鍵字實參(將這個參數(shù)變成字典)
注意:不帶*的參數(shù)要放在帶*參數(shù)的前面
4.return(返回值)
4.1.什么是函數(shù)的返回值
返回值就是return關(guān)鍵字后面表達(dá)式的值,就是函數(shù)調(diào)用表達(dá)式的值
4.1.1.return
return是函數(shù)體中的關(guān)鍵字(只能出現(xiàn)在函數(shù)體)
作用:結(jié)束函數(shù)活箕,確定函數(shù)返回值
調(diào)用函數(shù):
(重要A︳铩!S)函數(shù)調(diào)用過程:
1.回到函數(shù)聲明的位置
2.傳參
3.執(zhí)行函數(shù)體
4.執(zhí)行完函數(shù)體克蚂,確定函數(shù)返回值
執(zhí)行完函數(shù)體:函數(shù)體執(zhí)行完、執(zhí)行過程中遇到return
確定函數(shù)返回值:看執(zhí)行函數(shù)的過程中有沒有遇到return筋讨,如果遇到了return后面表達(dá)式的值就是函數(shù)的返回值埃叭,如果沒有return函數(shù)的返回值就是None
5.回到函數(shù)調(diào)用的位置,接著往后執(zhí)行悉罕。(這個時候函數(shù)調(diào)用表達(dá)式的值就是函數(shù)的返回值)