深入理解Python函數的九個黃金法則
作者:zhenguo
這篇文章結合之前我推薦的一本Python寶書,又添加一些我的實踐和理解,總結了深入理解Python函數的9個黃金法則。
編程離不開函數。Python的函數除了具備傳統意義上的函數特征外,又被賦予了其他一些特性,讓它更靈活、更強大。這篇文章結合之前我推薦的一本Python寶書,又添加一些我的實踐和理解,總結了深入理解Python函數的9個黃金法則。
1. 函數是對象
這意味著,yell 能賦值給 bark,如下所示:
而bark輕松被賦予yell的功能
2. 刪除函數
函數既然是對象,我們可以刪除函數,如下:
但是bark還是能夠正常調用:
3. 這說明:函數名字和函數本身完全是分開的
4. 函數既然是對象,就可以結合數據結構使用
5. 函數既然是對象,就可以作為函數參數
6. 函數既然是對象,就可以在嵌套在函數體內
如下所示,函數內再定義2個函數對象
7. 內層函數對象能夠記憶住父函數的變量
官方術語:閉包,記住這個例子:
8. 所有的函數都是對象,但是所有的對象并不一定都是函數
9. 對象成為函數需要實現__call__協議
實現__call__協議后,plus_3對象便成為函數,可以plus_3(4)了!強大。
以上就是9個靈活使用函數的黃金法則,希望對你有用。
責任編輯:趙寧寧
來源:
Python與算法社區