新聞中心
本文小編為大家詳細(xì)介紹“Python函數(shù)定義實(shí)例代碼分析”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Python函數(shù)定義實(shí)例代碼分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了羅莊免費(fèi)建站歡迎大家使用!
題目:說出下面代碼的運(yùn)行結(jié)果。
def extend_list(val, items=[]): items.append(val) return items list1 = extend_list(10) list2 = extend_list(123, []) list3 = extend_list('a') print(list1) print(list2) print(list3)
點(diǎn)評(píng):Python函數(shù)在定義的時(shí)候,默認(rèn)參數(shù)
items
的值就被計(jì)算出來了,即[]
。因?yàn)槟J(rèn)參數(shù)items
引用了對(duì)象[]
,每次調(diào)用該函數(shù),如果對(duì)items
引用的列表進(jìn)行了操作,下次調(diào)用時(shí),默認(rèn)參數(shù)還是引用之前的那個(gè)列表而不是重新賦值為[]
,所以列表中會(huì)有之前添加的元素。如果通過傳參的方式為items
重新賦值,那么items
將引用到新的列表對(duì)象,而不再引用默認(rèn)的那個(gè)列表對(duì)象。這個(gè)題在面試中經(jīng)常被問到,通常不建議使用容器類型的默認(rèn)參數(shù),像PyLint這樣的代碼檢查工具也會(huì)對(duì)這種代碼提出質(zhì)疑和警告。
[10, 'a'] [123] [10, 'a']
python是什么意思
Python是一種跨平臺(tái)的、具有解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言,其最初的設(shè)計(jì)是用于編寫自動(dòng)化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨(dú)立的項(xiàng)目和大型項(xiàng)目。
讀到這里,這篇“Python函數(shù)定義實(shí)例代碼分析”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前題目:Python函數(shù)定義實(shí)例代碼分析
文章出自:http://www.ef60e0e.cn/article/ppgdhs.html