這篇文章主要介紹關于python傳參值的簡介,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Python中傳參是指給函數傳遞參數,Python函數的參數可以分為以下幾種
默認參數
def enroll(name, gender, age=6, city='Beijing'): print('name:', name) print('gender:', gender) print('age:', age) print('city:', city)
有多個默認參數時,調用的時候,既可以按順序提供默認參數,比如調用enroll('Bob', 'M', 7),意思是,除了name,gender這兩個參數
外,最后1個參數應用在參數age上,city參數由于沒有提供,仍然使用默認值。
也可以不按順序提供部分默認參數。當不按順序提供部分默認參數時,需要把參數名寫上。比如調用enroll('Adam', 'M',city='Tianjin'),
意思是,city參數用傳進去的值,其他默認參數繼續使用默認值。
def add_end(L=[]): L.append('END') return L >>> add_end() ['END', 'END'] >>> add_end() ['END', 'END', 'END']
python學習網,免費的python學習網站,歡迎在線學習!
Python函數在定義的時候,默認參數L的值就被計算出來了,即[],因為默認參數L也是一個變量,它指向對象[],每次調用該函數,如果
改變了L的內容,則下次調用時,默認參數的內容就變了,不再是函數定義時的[]了。定義默認參數要牢記一點:默認參數必須指向不變對
象!要修改上面的例子,我們可以用None這個不變對象來實現:
def add_end(L=None): if L is None: L = [] L.append('END') return L
可變參數
def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum >>> calc(1, 2, 3) 14 >>> calc(1, 3, 5, 7) 84
定義可變參數和定義一個list或tuple參數相比,僅僅在參數前面加了一個*號。在函數內部,參數numbers接收到的是一個tuple,因此,
函數代碼完全不變。但是,調用該函數時,可以傳入任意個參數,包括0個參數:
>>> calc(1, 2) 5 >>> calc() 0
關鍵字參數
可變參數允許你傳入0個或任意個參數,這些可變參數在函數調用時自動組裝為一個tuple。而關鍵字參數允許你傳入0個或任意個含參數
名的參數,這些關鍵字參數在函數內部自動組裝為一個dict。
組合參數
在Python中定義函數,可以用必選參數、默認參數、可變參數、關鍵字參數和命名關鍵字參數,這5種參數都可以組合使用。但是請注
意,參數定義的順序必須是:必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數。
以上是關于python傳參值的簡介的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。