#分享 Python - Callback function

前情提要
一步一步來填坑,今天來學常常看到但一直不知道能幹嘛的 Callback Function Callback Function,顧名思義是之後再回來呼叫的Function,也就是讓你把Function本身也當作一個變數傳到另一個Function裡面。 圖中的uppercase, reverse這兩個Function就是所謂的Callback Function,因為他們被作為變數傳入了process_data這個Function中。
megapx
可能有人會想,這不是脫褲子放屁嗎? 我直接在process_data裡面呼叫指定的Function就好,幹嘛還要把函數當變數給傳進去。 這我也想了一陣子,關鍵在於Callback Function有助於decouple(解耦),藉由降低不同模組之間的dependencies,可以讓程式碼的品質更好,助於往後的維護與開發。 以上面的例子來說,若使用Callback Function之後我想回傳其他格式的字串,只要新增一個Callback Function傳進去即可,但若是分開寫,就會有三個長的很像但是只有一點點地方不一樣的函式。若今天是共同的地方需要更改,你還必須得同時去更改這三個函式。 因此在我的理解中,Callback Function主要的功用就是提供更多的彈性跟作decoupling的動作,很常搭配Async Function一起使用。至於Async也是一個超級大坑,之後再慢慢學。 若有理解錯誤的地方,請各位大大直接糾正我。如果跟我一樣是菜雞的,可以一起慢慢補坑
sticker
愛心
34
21
全部留言