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

python默認參數(shù)調(diào)用方法解析

 更新時間:2020年02月09日 13:35:25   作者:郭雪原  
這篇文章主要介紹了python默認參數(shù)調(diào)用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了python默認參數(shù)調(diào)用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

最常見的一種形式是的是為一個或者多個參數(shù)指定默認值,這會創(chuàng)建一個可以使用比定義時允許的參數(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!')

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

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

打印為5

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

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

print(f(1))
print(f(2,[]))
print(f(3))

輸出為:

[1]
[2]
[1,3]

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

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

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

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

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

相關文章

  • python中aioysql(異步操作MySQL)的方法

    python中aioysql(異步操作MySQL)的方法

    這篇文章主要介紹了aioysql(異步操作MySQL)-python 的相關知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • Python中實現(xiàn)插值法的示例詳解

    Python中實現(xiàn)插值法的示例詳解

    在數(shù)據(jù)處理和分析中,插值法是一種常用的數(shù)值分析技術,用于估計在已知數(shù)據(jù)點之間的值,本文將詳細介紹Python中插值法的實現(xiàn)方法,需要的可以參考下
    2024-02-02
  • Python3中簡單的文件操作及兩個簡單小實例分享

    Python3中簡單的文件操作及兩個簡單小實例分享

    文件操作是我們?nèi)粘T谑褂胮ython的時候經(jīng)常會用到的,下面這篇文章主要給大家介紹了關于Python3中簡單的文件操作及兩個簡單小實例的相關資料,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-06-06
  • Flask利用自定義接口實現(xiàn)mock應用詳解

    Flask利用自定義接口實現(xiàn)mock應用詳解

    后端接口已提供,前端需要依賴后端接口返回的數(shù)據(jù)進行前端頁面的開發(fā),如何配合前端?這篇就來介紹一下Flask如何利用自定義接口實現(xiàn)mock應用,需要的可以參考一下
    2023-03-03
  • python3 簡單實現(xiàn)組合設計模式

    python3 簡單實現(xiàn)組合設計模式

    這篇文章主要介紹了python3 簡單實現(xiàn)組合設計模式的方法,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • 在Python中存儲字符串

    在Python中存儲字符串

    這篇文章主要介紹了在Python中存儲字符串,文章通過unicode展開主題相關內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • 詳解python基礎中的for循環(huán)

    詳解python基礎中的for循環(huán)

    這篇文章主要為大家介紹了python的for循環(huán),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 分析用Python腳本關閉文件操作的機制

    分析用Python腳本關閉文件操作的機制

    這篇文章主要介紹了分析用Python腳本關閉文件操作的機制,作者分Python2.x版本和3.x版本兩種情況進行了闡述,需要的朋友可以參考下
    2015-06-06
  • python 簡單的多線程鏈接實現(xiàn)代碼

    python 簡單的多線程鏈接實現(xiàn)代碼

    這篇文章主要介紹了python 簡單的多線程鏈接實現(xiàn)代碼,需要的朋友可以參考下
    2016-08-08
  • Python pandas 的索引方式 data.loc[],data[][]示例詳解

    Python pandas 的索引方式 data.loc[],data[][]示例詳解

    這篇文章主要介紹了Python pandas 的索引方式 data.loc[], data[][]的相關資料,其中data.loc[index,column]使用.loc[ ]第一個參數(shù)是行索引,第二個參數(shù)是列索引,本文結合實例代碼講解的非常詳細,需要的朋友可以參考下
    2023-02-02

最新評論