在文章開始之前先說一句,小編最近整理了一套Python學習教程,有需要的小夥伴,記得關注小編頭條號,私信【學習】即可免費領取一套Python學習教程哦
1 位置實參
位置實參指的是,實參的順序與形參相同。
def to_read(book_name, book_type):
'''想讀的書'''
print('我想讀《' + book_name + '》咯')
print('它屬於' + book_type + '領域')
to_read('現代藝術150年 : 一個未完成的故事','藝術')
運行結果:
我想讀《現代藝術150年 : 一個未完成的故事》咯
它屬於藝術領域
注意:使用位置實參時,參數的順序很重要。
2 關鍵字實參
關鍵字實參指的是:傳遞給函數的是 “名稱-值對” 。這樣在調用函數時就不用考慮實參順序咯, 而且還可以清楚地指出實參各個值的用途。
def to_read(book_name, book_type):
'''想讀的書'''
print('我想讀《' + book_name + '》咯')
print('它屬於' + book_type + '領域')
to_read(book_name='現代藝術150年 : 一個未完成的故事',book_type='藝術')
運行結果:
我想讀《現代藝術150年 : 一個未完成的故事》咯
它屬於藝術領域
注意:使用關鍵字實參時, 必須準確地指出定義中的形參名。
3 默認值
可以給每個形參指定默認值 。 如果在調用函數時,有給形參提供實參, 那麼將使用指定的實參值; 如果沒有,那麼將使用默認值。
使用默認值可以簡化函數調用的方式, 而且還可清楚地指明函數的典型用法。
def to_read(book_name, book_type='藝術'):
'''想讀的書'''
print('我想讀《' + book_name + '》咯')
print('它屬於' + book_type + '領域')
to_read(book_name='現代藝術150年 : 一個未完成的故事')
to_read('現代藝術150年 : 一個未完成的故事')
to_read('現代藝術150年 : 一個未完成的故事','藝術史')
運行結果:
我想讀《現代藝術150年 : 一個未完成的故事》咯
它屬於藝術領域
我想讀《現代藝術150年 : 一個未完成的故事》咯
它屬於藝術領域
我想讀《現代藝術150年 : 一個未完成的故事》咯
它屬於藝術史領域
注意:在使用默認值時, 函數的形參列表必須先列出沒有默認值的形參, 然後再列出有默認值的實參。這樣可以讓函數也支持位置實參。
可以混合使用位置實參、 關鍵字實參以及默認值等傳參方式。建議使用對我們來說最容易理解的傳參方式。
4 傳參錯誤
如果我們在調用函數時,提供的實參多於或少於函數定義的信息時,就會拋出實參不匹配錯誤。 形如: TypeError: to_read() missing 1 required positional argument: 'book_name'
出現類似的 traceback , 請確保函數調用與函數定義相匹配 。
閱讀更多 菜鳥帶你學編程 的文章