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

python 默認(rèn)參數(shù)相關(guān)知識(shí)詳解

 更新時(shí)間:2019年09月18日 14:35:08   作者:郭雪原  
這篇文章主要介紹了python 默認(rèn)參數(shù)相關(guān)知識(shí)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

最常見的一種形式是的是為一個(gè)或者多個(gè)參數(shù)指定默認(rèn)值,這會(huì)創(chuàng)建一個(gè)可以使用比定義時(shí)允許的參數(shù)更少的參數(shù)調(diào)用的函數(shù),

def ask_ok(prompt, retries=4, reminder='Please try again!'):
  while True:
    ok = input(prompt)
    if ok in ('y', 'ye', 'yes'):
      return True
    if ok in ('n', 'no', 'nop', 'nope'):
      return False
    retries = retries - 1
    if retries < 0:
      raise ValueError('invalid user response')
    print(reminder)

可以用以下三種調(diào)用方式:

  • ask_ok('Do you really want to quit?')
  • ask_ok('OK to overwrite the file?', 2)
  • ask_ok('OK to overwrite the file?', 2, 'Come on, only yes or no!')

默認(rèn)值在函數(shù)定義作用域有效,因此:

i = 5
def f(arg=i):
  print(arg)
i = 6
f()

打印為5

重要提醒:默認(rèn)參數(shù)在定義時(shí)賦值,且僅僅賦值一次,當(dāng)函數(shù)多次被調(diào)用,且并沒有提供默認(rèn)的參數(shù)值,就會(huì)從定義時(shí)賦值的地方取得值。即使函數(shù)中給默認(rèn)參數(shù)重新賦值了,下次調(diào)用還是會(huì)從定義賦值的地方取得值!當(dāng)默認(rèn)參數(shù)為可變類型的list/dict等類型時(shí),需要注意。

def f(a, L=[]):
  L.append(a)
  return L
print(f(1))
print(f(2,[]))
print(f(3))

輸出為:

[1]
[2]
[1,3]

如果不想讓默認(rèn)值咋后續(xù)調(diào)用中累積,可以用如下寫法:

def f(a, L=None):
  if L is None:
    L = []
  L.append(a)
  return L

首先要理解可變對(duì)象與不可變對(duì)象可以參考http://blog.csdn.net/u014265088/article/details/52756442這篇文章

假如默認(rèn)參數(shù)是可變對(duì)象,函數(shù)內(nèi)對(duì)參數(shù)的改變會(huì)影響原始對(duì)象,下次調(diào)用函數(shù)默認(rèn)參數(shù)已經(jīng)被更改

假如默認(rèn)參數(shù)是不可變對(duì)象,函數(shù)內(nèi)對(duì)參數(shù)賦值時(shí),參數(shù)會(huì)引用內(nèi)存其他地方,下次調(diào)用函數(shù)時(shí)還是會(huì)從定義時(shí)賦值的地方取值。

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

相關(guān)文章

  • Python實(shí)現(xiàn)高分辨率圖像導(dǎo)航的代碼

    Python實(shí)現(xiàn)高分辨率圖像導(dǎo)航的代碼

    高分辨率圖像導(dǎo)航是一種技術(shù),它允許用戶在大型圖像中進(jìn)行導(dǎo)航和瀏覽,而無需加載整個(gè)圖像到內(nèi)存中,在本文中,我們將使用30行Python代碼實(shí)現(xiàn)這一功能,我們將使用Python的圖像處理庫(kù)和計(jì)算機(jī)視覺庫(kù)來加載圖像數(shù)據(jù)并生成高分辨率圖像導(dǎo)航
    2024-03-03
  • Python爬蟲如何應(yīng)對(duì)Cloudflare郵箱加密

    Python爬蟲如何應(yīng)對(duì)Cloudflare郵箱加密

    這篇文章主要介紹了Python爬蟲如何應(yīng)對(duì)Cloudflare郵箱加密,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python實(shí)現(xiàn)京東秒殺功能代碼

    Python實(shí)現(xiàn)京東秒殺功能代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)京東秒殺功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Pycharm代碼無法復(fù)制,無法選中刪除,無法編輯的解決方法

    Pycharm代碼無法復(fù)制,無法選中刪除,無法編輯的解決方法

    今天小編就為大家分享一篇Pycharm代碼無法復(fù)制,無法選中刪除,無法編輯的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • pyqt5 實(shí)現(xiàn)多窗口跳轉(zhuǎn)的方法

    pyqt5 實(shí)現(xiàn)多窗口跳轉(zhuǎn)的方法

    今天小編就為大家分享一篇pyqt5 實(shí)現(xiàn)多窗口跳轉(zhuǎn)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Django如何防止定時(shí)任務(wù)并發(fā)淺析

    Django如何防止定時(shí)任務(wù)并發(fā)淺析

    這篇文章主要給大家介紹了關(guān)于Django如何防止定時(shí)任務(wù)并發(fā)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python實(shí)現(xiàn)的分層隨機(jī)抽樣案例

    python實(shí)現(xiàn)的分層隨機(jī)抽樣案例

    這篇文章主要介紹了python實(shí)現(xiàn)的分層隨機(jī)抽樣案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • pandas 將索引值相加的方法

    pandas 將索引值相加的方法

    今天小編就為大家分享一篇pandas 將索引值相加的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python手寫選擇排序方式(不用sort)

    python手寫選擇排序方式(不用sort)

    這篇文章主要介紹了python手寫選擇排序方式(不用sort),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • numpy中實(shí)現(xiàn)ndarray數(shù)組返回符合特定條件的索引方法

    numpy中實(shí)現(xiàn)ndarray數(shù)組返回符合特定條件的索引方法

    下面小編就為大家分享一篇numpy中實(shí)現(xiàn)ndarray數(shù)組返回符合特定條件的索引方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評(píng)論

保亭| 永兴县| 嘉祥县| 安图县| 乌拉特前旗| 镇原县| 周宁县| 大石桥市| 托克托县| 广安市| 乌拉特前旗| 张北县| 洛扎县| 五常市| 钟山县| 博野县| 寿宁县| 勃利县| 天台县| 陕西省| 揭西县| 徐闻县| 雅江县| 南平市| 南昌县| 兖州市| 安多县| 儋州市| 南开区| 象州县| 东乡| 贵州省| 简阳市| 桐乡市| 开原市| 新津县| 长宁区| 会宁县| 正阳县| 益阳市| 桂平市|