說說在 Python 中如何向函式傳參

2021-09-12 18:22:50 字數 1791 閱讀 3569

位置實參指的是,實參的順序與形參相同。

def to_read(book_name, book_type):

'''想讀的書'''

print('我想讀《' + book_name + '》咯')

print('它屬於' + book_type + '領域')

to_read('現代藝術150年 : 乙個未完成的故事','藝術')

執行結果:

我想讀《現代藝術150年 : 乙個未完成的故事》咯

它屬於藝術領域

注意:使用位置實參時,引數的順序很重要。

關鍵字實參指的是:傳遞給函式的是 「名稱-值對」 。這樣在呼叫函式時就不用考慮實參順序咯, 而且還可以清楚地指出實參各個值的用途。

def to_read(book_name, book_type):

'''想讀的書'''

print('我想讀《' + book_name + '》咯')

print('它屬於' + book_type + '領域')

to_read(book_name='現代藝術150年 : 乙個未完成的故事',book_type='藝術')

執行結果:

我想讀《現代藝術150年 : 乙個未完成的故事》咯

它屬於藝術領域

注意:使用關鍵字實參時, 必須準確地指出定義中的形參名。

可以給每個形參指定預設值 。 如果在呼叫函式時,有給形參提供實參, 那麼將使用指定的實參值; 如果沒有,那麼將使用預設值。

使用預設值可以簡化函式呼叫的方式, 而且還可清楚地指明函式的典型用法。

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年 : 乙個未完成的故事》咯

它屬於藝術史領域

注意:在使用預設值時, 函式的形參列表必須先列出沒有預設值的形參, 然後再列出有預設值的實參。這樣可以讓函式也支援位置實參。

可以混合使用位置實參、 關鍵字實參以及預設值等傳參方式。建議使用對我們來說最容易理解的傳參方式。

如果我們在呼叫函式時,提供的實參多於或少於函式定義的資訊時,就會丟擲實參不匹配錯誤。 形如:typeerror: to_read() missing 1 required positional argument: 'book_name'

出現類似的 traceback , 請確保函式呼叫與函式定義相匹配 。

說說在 Python 中如何使用列表推導

luciano ramalho 舉了這樣乙個示例,把乙個字串轉為 unicode 碼的列表。傳統寫法是這樣的 symbols codes for symbol in symbols 執行結果 info codes 64,35,36,37,94,38 ord 函式是 chr 函式 對於8位的ascii...

說說在 Canvas 中如何新增陰影

canvas 的 context 中有四個引數可以用於設定陰影相關屬性。方法名說明 shadowoffsetx 陰影 x 軸偏移量。可以為正值或負值 負值表示在左側和上方建立陰影,正值表示在底部和右側建立陰影。shadowoffsety 陰影 y 軸偏移量。其它特性與陰影 x 軸偏移量相同。shad...

說說在 Python 中如何處理檔案系統路徑

在 windows 作業系統中,檔案路徑以倒斜槓作為資料夾之間的分隔符。但在 osx 和 linux 上,使用的則是正斜槓作為路徑分隔符。如果希望讓程式適配所有作業系統,就會用到 os.path.join 函式。import os path os.path.join usr local sbin p...