在Python中如何向函數傳參

在Python中如何向函數傳參

在文章開始之前先說一句,小編最近整理了一套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 , 請確保函數調用與函數定義相匹配 。


分享到:


相關文章: