python函式引數預設值及重要警告

2022-09-05 00:30:23 字數 1158 閱讀 7773

最有用的形式是對乙個或多個引數指定乙個預設值。這樣建立的函式,可以用比定義時允許的更少的引數呼叫,比如:

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)

這個函式可以通過幾種方式呼叫:

這個示例還介紹了in關鍵字。它可以測試乙個序列是否包含某個值。

預設值是在 定義過程 中在函式定義處計算的,所以

i = 5

def f(arg=i):

print

(arg)

i = 6f()

會列印5

重要警告:預設值只會執行一次。這條規則在預設值為可變物件(python列表、字典以及大多數類例項)時很重要。比如,下面的函式會儲存在後續呼叫中傳遞給它的引數:

def f(a, l=):

return

lprint(f(1))

print(f(2))

print(f(3))

這將列印出

[1]

[1, 2]

[1, 2, 3]

如果你不想要在後續呼叫之間共享預設值,你可以這樣寫這個python函式:

def f(a, l=none):

if l is

none:

l =return l

函式(引數,預設值)

js定義函式引數沒有非常嚴格的要求,可以有也可以沒有,在呼叫的時候也是,引數可以有可以沒有,也可以和定義時的引數個數不一致 沒有給count傳入引數,預設為10 也可以直接在引數中給count賦值 但是特別注意的是不能給count傳入0,因為0與undefined都是false,因此count傳入的...

函式引數預設值

include 函式預設值為0 intmul int x 0 c語言編譯器會報錯,c 不會 intmain int argc,char ar 預設值不需要在定義時給出,宣告時給出即可 intmul int x 函式預設引數的規則 引數的預設值必須從右向左匹配 函式呼叫時使用了預設值,則後續引數必須使...

方法引數 預設值 Python引數的預設值陷阱!

今日分享 引數的預設值陷阱 下面定義的函式f,其引數d是乙個預設引數,且為字典型別 def f a,d print f a print f d do some process return d 最後返回字典d,下面呼叫函式f ret dict f 1 第二個引數d使用預設值 ret dict b 2...