Python的位置参数、默认参数、关键字参数、可变参数之间的区别
生活随笔
收集整理的這篇文章主要介紹了
Python的位置参数、默认参数、关键字参数、可变参数之间的区别
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 位置參數(shù)
調(diào)用函數(shù)時(shí)需根據(jù)定義的參數(shù)位置來傳參
def print_hello(name, sex):print('hello %s %s, welcome to python world!' % (name, '先生')) print_hello('Nick', '先生') # 輸出:hello Nick 先生, welcome to python world!位置參數(shù)必須嚴(yán)格按照順序傳參
2. 關(guān)鍵字參數(shù)
在函數(shù)調(diào)用時(shí),通過"鍵值對"形式作為函數(shù)的形參,不用按照位置給函數(shù)傳參
注意:
- 關(guān)鍵字參數(shù)必須在位置參數(shù)右邊→
- 對同一個(gè)形參不能重復(fù)傳值
3. 默認(rèn)參數(shù)
在定義函數(shù)時(shí),可以為形參提供默認(rèn)值。對于有默認(rèn)值的形參,調(diào)用函數(shù)時(shí)如果為該參數(shù)傳值,則使用傳入值,否則使用默認(rèn)值
注意:
- 在調(diào)用函數(shù)時(shí)可以不給有默認(rèn)值的形參傳值
- 無論函數(shù)的定義還是調(diào)用,默認(rèn)參數(shù)的定義應(yīng)該在位置形參右邊
- 只在定義時(shí)賦值一次
- 默認(rèn)參數(shù)通常應(yīng)該定義成不可變類型
4. 可變參數(shù)
定義函數(shù)時(shí),有時(shí)候我們不確定調(diào)用的時(shí)候會(huì)傳遞多少個(gè)參數(shù)(不傳參也行)。此時(shí),可用包裹(packing)位置參數(shù),或者包裹關(guān)鍵字參數(shù),來進(jìn)行參數(shù)傳遞。
- 包裹位置傳遞
- 包裹關(guān)鍵字傳遞
- 位置參數(shù),默認(rèn)參數(shù),可變參數(shù)的混合使用,使用順序是:位置參數(shù) --> 默認(rèn)參數(shù) --> 包裹位置參數(shù) --> 包裹關(guān)鍵字(定義和調(diào)用都要遵循)
總結(jié)
以上是生活随笔為你收集整理的Python的位置参数、默认参数、关键字参数、可变参数之间的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 梯度下降法
- 下一篇: Python四道面试题