欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python定義函數(shù)時參數(shù)有默認值問題解決

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

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

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

可變類型以及小陷阱:

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]

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

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

我們所期待的是,在每次僅使用第一個參數(shù)調(diào)用該函數(shù)時,都會創(chuà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]

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python常見錯誤類型及解決方法

    Python常見錯誤類型及解決方法

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

    跟老齊學Python之賦值,簡單也不簡單

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

    python腳本監(jiān)聽域名證書過期時間并通知消息到釘釘(最新推薦)

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

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

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

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

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

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

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

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

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

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

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

    Python實現(xiàn)自動玩貪吃蛇程序

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

    Python button選取本地圖片并顯示的實例

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

最新評論