DAY9總結(jié)

day9

  • 列表

    • 數(shù)據(jù):[元素1,元素2...],元素可以是任何數(shù)據(jù)類型
    • 特點(diǎn):可變、有序
    • 支持的相關(guān)操作:+,*,==,!=,in/not in,len(),list()
    • 什么時(shí)候使用:需要保存的數(shù)據(jù)是相同性質(zhì)的數(shù)據(jù)
  • 元組

    • 數(shù)據(jù):(元素1,元素2...) 元素是任何數(shù)據(jù)類型
    • 特點(diǎn):a, b, *c, d = 1,2,3,4,5,6,7,8,9,此時(shí)a為1,b為2,c為3-8的列表,d為9;不可變,有序
    • 支持的操作:+,*,==,!=,in/not in ,len(),tuple()
    • 什么時(shí)候使用:存儲(chǔ)數(shù)據(jù)的時(shí)候一般不主動(dòng)使用元組,主要是在使用函數(shù)的過程中經(jīng)常遇到元組
  • 字典

    • 數(shù)據(jù):{key1:value1, key:value2...} 鍵不可變且唯一 值是任何類型數(shù)據(jù)
    • 特點(diǎn):可變,無序
    • 支持的相關(guān)操作:==,!=,in/not in,len(),dict()
    • 什么時(shí)候使用:同時(shí)存儲(chǔ)多個(gè)數(shù)據(jù)并性質(zhì)不同需要區(qū)分
  • 集合

    • 數(shù)據(jù):{元素1,元素2...} 元素不可變并且唯一
    • 特點(diǎn):可變,無序
    • 支持的相關(guān)操作:數(shù)據(jù)集合運(yùn)算、in/not in、len()、set()
    • 什么時(shí)候使用:對(duì)數(shù)據(jù)處理設(shè)計(jì)數(shù)學(xué)集合運(yùn)算
  • ==和is的區(qū)別

    • python中所有的變量都是保存的數(shù)據(jù)再內(nèi)存中的地址,用一個(gè)變量給另一個(gè)變量賦值,實(shí)質(zhì)將變量中存儲(chǔ)的地址賦值操作;使用變量實(shí)質(zhì)是只用變量中地址對(duì)應(yīng)的內(nèi)存區(qū)域中的值
    • ==是判斷兩個(gè)變量中變量地址對(duì)應(yīng)的值是否相等
    • is是判斷兩個(gè)變量中存儲(chǔ)的地址是否相等
    • 但需要注意數(shù)字和字符串是特例
a = 'abc'
b = 'abc'
id(a)
id(b)
a == b
a is b
# 此時(shí)a和b內(nèi)存地址一樣,下面兩個(gè)比較均為True
a = [1,2]
b = [1,2]
id(a)
id(b)
a == b
a is b
# 此時(shí)a和b內(nèi)存地址不一樣,下面兩個(gè)比較一個(gè)為True,一個(gè)為False
  • 函數(shù)(function)
    • 不使用函數(shù)可能會(huì)遇到的問題:代碼冗余,功能發(fā)生改變?cè)O(shè)計(jì)多處代碼的修改
    • 什么是函數(shù):函數(shù)是對(duì)實(shí)現(xiàn)某一特定功能的代碼塊的封裝
    • 函數(shù)的分類:1.自定義函數(shù) 2.系統(tǒng)函數(shù)(內(nèi)置函數(shù))
      • 系統(tǒng)函數(shù):系統(tǒng)已經(jīng)實(shí)現(xiàn)的函數(shù),只需要會(huì)調(diào)用就行
      • 自定義函數(shù):程序員自己聲明的函數(shù)
    • 語法:
def 函數(shù)名(形式參數(shù)):
    函數(shù)說明文檔
    函數(shù)體
  • 說明:def:關(guān)鍵字;函數(shù)名:和變量名要求一樣,見名知意;形參列表:變量名1,變量名2,變量名3...(根據(jù)情況設(shè)置變量名的個(gè)數(shù)),形參的作用是將函數(shù)外部數(shù)據(jù)傳遞到函數(shù)內(nèi);函數(shù)體:和def保持一個(gè)縮進(jìn)的一條或多條語句(實(shí)現(xiàn)函數(shù)功能的代碼塊)
    • 聲明函數(shù)的步驟:1.確定函數(shù)的功能;2.根據(jù)功能確定函數(shù)名;3.確定形參(看實(shí)現(xiàn)函數(shù)的功能需不需要從外部傳值,);4.實(shí)現(xiàn)函數(shù)功能;5.確定返回值。函數(shù)聲明的時(shí)候,函數(shù)體不會(huì)執(zhí)行,
    • 函數(shù)的調(diào)用:函數(shù)名(實(shí)參列表);函數(shù)是已經(jīng)聲明過的函數(shù)
    • 函數(shù)的調(diào)用過程:1.回到函數(shù)聲明處;2.用實(shí)參給形參賦值(傳參),要保證每個(gè)形參要有值;3.執(zhí)行函數(shù)體(函數(shù)體執(zhí)行完成的條件之一為函數(shù)體代碼執(zhí)行完成,之二是遇到return);4.獲取返回值(看執(zhí)行函數(shù)過程中有沒有遇到return,如果遇到return,那么return后面的表達(dá)式的值就是函數(shù)返回值,如果沒有遇到return,那么函數(shù)的返回值為默認(rèn)的None);5.回到函數(shù)調(diào)用處,繼續(xù)執(zhí)行后面代碼,此時(shí)函數(shù)調(diào)用表達(dá)式的值就是函數(shù)的返回值
    • 位置參數(shù)和關(guān)鍵字參數(shù):調(diào)用函數(shù)時(shí)根據(jù)實(shí)參的寫法分為位置參數(shù)和關(guān)鍵字參數(shù)
      • 位置參數(shù):實(shí)參的順序與形參一一對(duì)應(yīng),中間用逗號(hào)隔開
      • 關(guān)鍵字參數(shù):以'形參名1=值1,形參名2=值2...'的格式來確定實(shí)參
      • 位置參數(shù)+關(guān)鍵字參數(shù):如果既有位置參數(shù),又有關(guān)鍵字參數(shù),位置參數(shù)必須寫在關(guān)鍵字參數(shù)前
    • 參數(shù)默認(rèn)值:聲明函數(shù)時(shí)可以給形參賦默認(rèn)值,有默認(rèn)值得形參,在調(diào)用時(shí)可以不用給這個(gè)形參賦值。如果形參中既有有默認(rèn)值的參數(shù),又有沒有默認(rèn)值的參數(shù),有默認(rèn)值的形參需要寫在沒有默認(rèn)值得形參后;python中類型只有說明的作用,沒有約束的作用,指定類型的方式包括(1.參數(shù)賦默認(rèn)值。2.參數(shù)名:類型)
    • 不定長(zhǎng)參數(shù):聲明函數(shù)時(shí),在形參前加*,那么這個(gè)參數(shù)變成不定長(zhǎng)參數(shù),可以同時(shí)接收多個(gè)實(shí)參(將這個(gè)參數(shù)變成元組);定長(zhǎng)參數(shù)要在不定長(zhǎng)參數(shù)的前面;聲明函數(shù)時(shí),在形參前加**,這個(gè)參數(shù)也會(huì)變成不定長(zhǎng)參數(shù),可以同時(shí)接收多個(gè)關(guān)鍵字參數(shù),將這個(gè)形參變?yōu)樽值?;?dāng)定義函數(shù)時(shí),形參定義順序?yàn)?位置參數(shù),*args/默認(rèn)參數(shù),默認(rèn)參數(shù)/*args,**kwargs)
    • 函數(shù)的返回值:返回值是return關(guān)鍵字后面的表達(dá)式的值,就是函數(shù)調(diào)用表達(dá)式的值,若沒有遇到return,則默認(rèn)返回值為None
      • return是函數(shù)體中的關(guān)鍵字(只能出現(xiàn)在函數(shù)體中)
      • 作用:結(jié)束函數(shù),確定函數(shù)返回值,
      • 什么時(shí)候需要返回值:如果實(shí)現(xiàn)函數(shù)的功能會(huì)產(chǎn)生新的數(shù)據(jù),就可以把這個(gè)數(shù)據(jù)作為函數(shù)返回值,在return多個(gè)值時(shí),使用逗號(hào)隔開,實(shí)質(zhì)返回一個(gè)元組
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 01-recode 1.字典 增:字典[key] = 值 ; 字典.setdefault(key,值) ;字典.u...
    年華盡耗_c24e閱讀 374評(píng)論 0 0
  • 1. 什么是函數(shù)(function) 函數(shù)就是對(duì)實(shí)現(xiàn)某一特定功能的代碼塊的封裝 2. 函數(shù)的分類 1)系統(tǒng)函數(shù)(內(nèi)...
    墨2019418閱讀 224評(píng)論 0 0
  • 一.函數(shù)的調(diào)用 函數(shù)在聲明的時(shí)候不會(huì)執(zhí)行函數(shù)體, 只有在調(diào)用函數(shù)的時(shí)候才會(huì)執(zhí)行函數(shù)體 1.函數(shù)的調(diào)用過程(重點(diǎn)!)...
    熙包包閱讀 302評(píng)論 0 0
  • 1.函數(shù)函數(shù)在聲明的時(shí)候不會(huì)執(zhí)行函數(shù)體, 只有在調(diào)用函數(shù)的時(shí)候才會(huì)執(zhí)行函數(shù)體。 1.函數(shù)的調(diào)用過程(重點(diǎn)!)a.物...
    9527神經(jīng)閱讀 358評(píng)論 0 0
  • 1.淺拷貝和深拷貝 拷貝:將變量中的值賦值一份,產(chǎn)生新的數(shù)據(jù),然后將新的數(shù)據(jù)對(duì)應(yīng)的地址返回淺拷貝:直接拷貝地址(切...
    hfudhu閱讀 186評(píng)論 0 0

友情鏈接更多精彩內(nèi)容