Python 函式(預設引數)

記憶殘留發表於2017-07-17

預設引數

設定預設引數時,有兩點需要注意:
一是必選引數在前,預設引數在後,否則python的直譯器會報錯
二是當函式有多個引數時,把變化大的引數放前面,變化小的放後面,變化小的引數就可以作為預設引數

def   power(x,n=2):
    s=1
    while n>0:
        n=n-1
        s=s*x
    return  s
print  power(5,2)
#25
print  power(5)
#25

 呼叫power(5)時,相當於呼叫了power(5,2),而對於n>3的情況,就必須明確的傳入n,比如power(5,3)

使用預設引數最大的好處是能降低呼叫函式的難度,呼叫時預設引數符合的不需要提供額外的資訊,使用預設值即可,不符合時才需要傳遞引數值,無論是簡單呼叫,還是複雜呼叫,函式只需要定義一個

def   enroll(name,gender,age=6,city='Beijing'):
    print ('name:',name)
    print('gender:',gender)
    print('age:',age)
    print('city:',city)

print  enroll('Sarah','F')
print  enroll('Bob','M',7)
print  enroll('Adam','M',city='Tianjin')

 有多個預設引數時,呼叫時,既可以按順序提供預設引數,比如呼叫enroll('Bob','M',7),意思是,除了name,gender這兩個引數,最後一個引數應用在age上,city引數由於沒有提供,任然使用預設值

也可不按順序提供部分預設引數,當不按順序提供部分預設引數時,需要把引數名寫上,比如呼叫enroll('Adam','M',city='Tianjin'),意思是city引數用穿進去的值,其他預設引數繼續使用預設值

 

 

 

 

 

相關文章