「functools.partial」是Python中的一個標準函式庫,它可以讓我們基於既有的函式封裝成多種不同用途的函式,就如同上圖所示,我們設計了一個乘法(multiply)的函數,使用了partial讓函數的參數「c」固定下來依據用途不同變化出「double」、「triple」,這樣一來我們也不用重寫這兩種功能的函式,減少了程式碼的重複性。
def multiply(a, b, c):
return a * b * c
# 😔 多出一個函式定義區塊
def double(a, b):
return multiply(a, b, 2)
# 😔 多出一個函式定義區塊
def triple(a, b):
return multiply(a, b, 3)
result1 = double(5, 4)
result2 = triple(5, 4)
from functools import partial
# 給予名稱並印出訊息
def print_msg(name, message):
msg = str(name) +", "+ str(message)
return msg
# 歡迎的罐頭語
welcome = Partial(print_msg, message='歡迎加入團隊')
weekend_wish = Partial(print_msg, message='周末愉快!')
print(welcome('Amy'))
print(holidays('John'))
# >
# Amy, 歡迎加入團隊
# John, 周末愉快!
原來Python可以這麼酷,這種高階的程式語言透過易讀的標準函式庫讓我們的程式碼可以更加的簡潔,不會太過於底層導致複雜的應用程式帶來難以維護的程式碼,甚至可以幫助我們創造出各式不同功能的函數庫,非常值得我們學習。
學習軟體開發的路上常常苦於網路資訊爆炸嗎? 教學何其多,但卻遇到無法明確選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您業界開發重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。