亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python定義函數(shù)時(shí)參數(shù)有默認(rèn)值問(wèn)題解決

 更新時(shí)間:2019年12月19日 09:46:37   作者:Python探索牛  
這篇文章主要介紹了Python定義函數(shù)時(shí)參數(shù)有默認(rèn)值問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了Python定義函數(shù)時(shí)參數(shù)有默認(rèn)值問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

在定義函數(shù)的時(shí)候,如果函數(shù)的參數(shù)有默認(rèn)值,有兩種類型的參數(shù),一種是整數(shù),字符串這種不可變類型,另一種是列表這種可變類型,對(duì)于第一種情況沒(méi)有什么特殊的地方,但是對(duì)于可變類型,有一個(gè)微妙的小陷阱。

可變類型以及小陷阱:

def append_item(item, list1=[]):
  list1.append(item)
  return list1

print(append_item((1))) # [1]
print(append_item((2))) # [1, 2]
print(append_item((6))) # [1, 2, 6]
list2 = [6, 7]
print(append_item(1, list2)) # [6, 7, 1]
print(append_item(9, list2)) # [6, 7, 1,9]

問(wèn)題:為什么會(huì)輸出[1,2],[1,2,6],很明顯使用默認(rèn)參數(shù)的情況下,每調(diào)用一次append_item,都在之前得list1基礎(chǔ)上添加元素。但是不使用默認(rèn)值,就沒(méi)有這種情況了,這是為什么呢?

原因:在創(chuàng)建上面的函數(shù)時(shí),list1參數(shù)被設(shè)置為引用一個(gè)新的列表,之后,在僅使用第一個(gè)參數(shù)調(diào)用該函數(shù)(即第二個(gè)使用默認(rèn)參數(shù))時(shí),默認(rèn)的列表都將是函數(shù)本身創(chuàng)建時(shí)指定的那個(gè)列表,因此將不會(huì)再有新的列表得以創(chuàng)建。

我們所期待的是,在每次僅使用第一個(gè)參數(shù)調(diào)用該函數(shù)時(shí),都會(huì)創(chuàng)建一個(gè)新的空列表,下面進(jìn)行改動(dòng):

def append_item(item, list1=[]):
  if not list1:
    list1 = []
  list1.append(item)
  return list1

print(append_item((1))) # [1]
print(append_item((2))) # [2]
print(append_item((6))) # [6]
list2 = [6, 7]
print(append_item(1, list2)) # [6, 7, 1]
print(append_item(9, list2)) # [6, 7, 1,9]

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python常見(jiàn)錯(cuò)誤類型及解決方法

    Python常見(jiàn)錯(cuò)誤類型及解決方法

    如果說(shuō)寫(xiě)代碼最害怕什么,那無(wú)疑是Bug。而對(duì)于新手來(lái)說(shuō),剛剛接觸編程,在享受寫(xiě)代碼的成就感時(shí),往往也會(huì)被各式各樣的Bug弄得暈頭轉(zhuǎn)向。Python常見(jiàn)錯(cuò)誤類型及解決方法,拯救你的代碼!消滅Bug的過(guò)程就是技能經(jīng)驗(yàn)的累積過(guò)程。
    2023-06-06
  • 跟老齊學(xué)Python之賦值,簡(jiǎn)單也不簡(jiǎn)單

    跟老齊學(xué)Python之賦值,簡(jiǎn)單也不簡(jiǎn)單

    在《初識(shí)永遠(yuǎn)強(qiáng)大的函數(shù)》一文中,有一節(jié)專門討論“取名字的學(xué)問(wèn)”,就是有關(guān)變量名稱的問(wèn)題,本溫故而知新的原則,這里要復(fù)習(xí)一下
    2014-09-09
  • python腳本監(jiān)聽(tīng)域名證書(shū)過(guò)期時(shí)間并通知消息到釘釘(最新推薦)

    python腳本監(jiān)聽(tīng)域名證書(shū)過(guò)期時(shí)間并通知消息到釘釘(最新推薦)

    這篇文章主要介紹了python腳本監(jiān)聽(tīng)域名證書(shū)過(guò)期時(shí)間并通知消息到釘釘(最新推薦),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-11-11
  • Python字符編碼與函數(shù)的基本使用方法

    Python字符編碼與函數(shù)的基本使用方法

    下面小編就為大家?guī)?lái)一篇Python字符編碼與函數(shù)的基本使用方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • PyCharm2020.1.1與Python3.7.7的安裝教程圖文詳解

    PyCharm2020.1.1與Python3.7.7的安裝教程圖文詳解

    這篇文章主要介紹了PyCharm2020.1.1與Python3.7.7的安裝教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python中字符串和列表去重方法總結(jié)

    Python中字符串和列表去重方法總結(jié)

    這篇文章主要為大家整理了Python中實(shí)現(xiàn)字符串和列表去重的常用方法,文中的示例代碼講解詳細(xì),對(duì)我們深入了解Python有一定的幫助,感興趣的可以了解一下
    2023-04-04
  • Python3調(diào)用百度AI識(shí)別圖片中的文字功能示例【測(cè)試可用】

    Python3調(diào)用百度AI識(shí)別圖片中的文字功能示例【測(cè)試可用】

    這篇文章主要介紹了Python3調(diào)用百度AI識(shí)別圖片中的文字功能,結(jié)合實(shí)例形式分析了Python3安裝及使用百度AI接口的相關(guān)操作技巧,并附帶說(shuō)明了百度官方AI平臺(tái)的注冊(cè)及接口調(diào)用操作方法,需要的朋友可以參考下
    2019-03-03
  • Python+OpenCV實(shí)現(xiàn)圖像融合的原理及代碼

    Python+OpenCV實(shí)現(xiàn)圖像融合的原理及代碼

    這篇文章主要介紹了Python+OpenCV實(shí)現(xiàn)圖像融合的原理及代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-12-12
  • Python實(shí)現(xiàn)自動(dòng)玩貪吃蛇程序

    Python實(shí)現(xiàn)自動(dòng)玩貪吃蛇程序

    這篇文章主要介紹了通過(guò)Python實(shí)現(xiàn)的簡(jiǎn)易的自動(dòng)玩貪吃蛇游戲的小程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)一學(xué)
    2022-01-01
  • Python button選取本地圖片并顯示的實(shí)例

    Python button選取本地圖片并顯示的實(shí)例

    今天小編就為大家分享一篇Python button選取本地圖片并顯示的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06

最新評(píng)論