函數是執行特定任務的一段代碼,程序通過將一段代碼定義成函數,并為該函數指定一個函數名,這樣即可在需要的時候多次調用這段代碼。因此,函數是代碼復用的重要手段。學習函數需要重點掌握定義函數、調用函數的方法。
與函數緊密相關的另一個知識點是lambda表達式。lamda表達式可作為表達式函數參數或函數返回值,因此使用lambda表達式可以讓程序更加簡潔。
函數就是Python程序的重要組成單位,一個Python程序可以由很多個函數組成。
我們已經用過大量函數,如len()、max()等,使用函數是真正開始編程的第一步比如在程序中定義了一段代碼,這段代碼用于實現一個特定的功能。問題來了,如果下次需要實現同樣的功能,難道要把前面定義的代碼復制一次如果這樣做實在太傻了,這意味著:每次當程序需要實現該功能時,都要將前面定義的代碼復制一次。
正確的做法是:將實現特定功能的代碼定義成一個函數,每次當程序需要實現該功能時,只要執行(調用)該函數即可。
通俗來講,所謂函數,就是指為一段實現特定功能的代碼“取”一個名字,以后即可通過該名字來執行(調用)該函數。
通常,函數可以接收零個或多個參數,也可以返回零個或多個值。從函數使用者的角度來看函數就像一個“黑匣子”,程序將零個或多個參數傳入這個“黑匣子”,該“黑匣子”經過一番計算即可返回零個或多個值。
對于“黑匣子”的內部細節(就是函數的內部實現細節),函數的使用者并不需要關心。就像前面在調用len()、max()、min()等函數時,我們只負責傳入參數、接收返回值,至于函數內部的實現細節,我們并不關心。