python函式:預設引數: retries=4
這種形式
def ask_ok(prompt, retries=4, complaint='
yes or no, please!'):
while
true:
ok =raw_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 ioerror(
'refusenik user')
print complaint
呼叫的時候:
只給出必要的引數: 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!')
預設引數的特點:
重要警告: 預設值只被賦值一次。這使得當預設值是可變物件時會有所不同,比如列表、字典或者大多數類的例項。
例如,下面的函式在後續呼叫過程中會累積(前面)傳給它的引數:
def f(a, l=):
return
l print f(1)
print f(2)
print f(3)
這將會列印:
[1][
1, 2
] [
1, 2, 3
] 如果你不想在隨後的呼叫中共享預設值,可以像這樣寫函式:
def f(a, l=none):
if l is
none:
l =return l
學習**:
Python函式學習 函式 引數
本篇是對 python3函式的學習與小結,用於複習鞏固使用,如有理解偏差的地方,還望各位大佬指正。函式的作用 函式的分類 小結 def 函式名 引數列表 函式體 塊 return 返回值 小結 函式名 str 函式定義,只是宣告了乙個函式,它不會被執行,需要呼叫 呼叫的方式,就是函式名後加上小括號,...
python函式引數學習 python函式學習1
函式1 1 定義 def 函式名 引數列表 函式體 2 引數傳遞 在python中,一切都是物件,型別也屬於物件,變數是沒有型別的。a 1,2,3 a helloworld 以上 中,1,2,3 是list型別,helloworld 是string型別,而變數a是沒有型別的,它僅僅是乙個物件的引用 ...
Python函式學習 引數型別
在定義python函式時可定義形參,這些引數在呼叫時候才能確定具體的值,由函式的呼叫者負責為行參傳入引數值 也叫必傳引數,順序引數,是最重要的,也是必須在呼叫函式時明確提供的引數!位置引數必須按先後順序,一一對應,個數不多不少的傳遞!說明 a,b,c是函式add的行參,沒有具體的值,只有在add x...