最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

在定義函數(shù)的時(shí)候,如果函數(shù)的參數(shù)有默認(rèn)值,有兩種類型的參數(shù),一種是整數(shù),字符串這種不可變類型,另一種是列表這種可變類型,對(duì)于第一種情況沒有什么特殊的地方,但是對(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]

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

原因:在創(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)文章

  • 利用Django提供的ModelForm增刪改數(shù)據(jù)的方法

    利用Django提供的ModelForm增刪改數(shù)據(jù)的方法

    這篇文章主要介紹了利用Django提供的ModelForm增刪改數(shù)據(jù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • python selenium xpath定位操作

    python selenium xpath定位操作

    這篇文章主要介紹了python selenium xpath定位操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Python中reshape的使用詳解

    Python中reshape的使用詳解

    這篇文章主要介紹了Python中reshape的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Python實(shí)現(xiàn)多功能音樂播放器詳解

    Python實(shí)現(xiàn)多功能音樂播放器詳解

    這篇文章主要介紹了如何通過Python制作一個(gè)簡(jiǎn)易的音樂播放器,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定價(jià)值,需要的可以參考一下
    2022-02-02
  • 詳解如何在Matplotlib中繪制平滑曲線

    詳解如何在Matplotlib中繪制平滑曲線

    這篇文章主要為大家詳細(xì)介紹了如何在Matplotlib中繪制平滑曲線,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下
    2024-04-04
  • Python同時(shí)處理多個(gè)異常的方法

    Python同時(shí)處理多個(gè)異常的方法

    這篇文章主要介紹了Python同時(shí)處理多個(gè)異常的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 淺談Pytorch中的torch.gather函數(shù)的含義

    淺談Pytorch中的torch.gather函數(shù)的含義

    今天小編就為大家分享一篇淺談Pytorch中的torch.gather函數(shù)的含義,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python緩存方案優(yōu)化程序性能提高數(shù)據(jù)訪問速度

    Python緩存方案優(yōu)化程序性能提高數(shù)據(jù)訪問速度

    Python緩存方案是一種優(yōu)化程序性能,提高數(shù)據(jù)訪問速度的方案。通過緩存數(shù)據(jù),可以減少重復(fù)的計(jì)算和IO操作,從而提高程序的運(yùn)行效率。Python中常用的緩存方案包括內(nèi)存緩存、磁盤緩存和分布式緩存等,根據(jù)實(shí)際需求選擇不同的方案可以幫助我們更好地優(yōu)化程序性能
    2023-05-05
  • Python使用Beautiful?Soup(BS4)庫解析HTML和XML

    Python使用Beautiful?Soup(BS4)庫解析HTML和XML

    這篇文章介紹了Python使用Beautiful?Soup(BS4)庫解析HTML和XML的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Pycharm配置anaconda環(huán)境圖文教程

    Pycharm配置anaconda環(huán)境圖文教程

    這篇文章主要介紹了Pycharm配置anaconda環(huán)境圖文教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評(píng)論

井冈山市| 安西县| 无锡市| 精河县| 鸡西市| 鄂托克旗| 会昌县| 招远市| 内丘县| 那曲县| 旬阳县| 嘉兴市| 梧州市| 靖远县| 雷波县| 沾化县| 大新县| 甘肃省| 绥宁县| 丹东市| 民县| 平湖市| 安图县| 嘉善县| 光山县| 博野县| 虞城县| 永城市| 桑植县| 香港| 图们市| 西乌珠穆沁旗| 常德市| 阿拉尔市| 墨脱县| 紫金县| 永城市| 华池县| 深泽县| 谢通门县| 穆棱市|