Python 中用def定義函數,是Python中定義函數的一種方式。
一、函數的定義和調用
Python中定義函數使用def語句,def語句的一般形式如下:
def function_name(parameters): """函數文檔字元串""" function_suite return [expression]
1. function_name:函數名,函數名和參數列表一起構成了函數簽名。
2. parameters:參數列表,放置在括弧中間,多個參數之間使用逗號隔開。
3. 函數內部:函數體,實現函數的功能。
4. return [expression]:函數的返回值,可以省略。
在調用函數時,直接以函數名傳遞參數值即可:
def print_hello(): print("Hello") print_hello()
輸出結果為:
Hello
二、函數的參數
Python函數的參數可以有默認值,也可以指定函數調用時傳遞的形參位置:
def print_info(name, age=18): print("Name: ", name) print("Age : ", age) print_info("Lucy")
輸出結果為:
Name: Lucy Age : 18
如果不指定age的值,那麼就會默認為18.在調用方法時,也可以指定傳遞的參數:
print_info("Lucy", 20)
輸出結果為:
Name: Lucy Age : 20
三、匿名函數(lambda函數)
匿名函數是通過lambda表達式創建的函數,常用於函數作為參數傳遞的場景:
def get_sum(num1, num2, plus): return plus(num1, num2) result = get_sum(10, 20, lambda x, y: x + y) print(result)
輸出結果為:
30
四、遞歸函數
遞歸函數是指在函數定義中調用自身的函數,常用於處理具有遞歸結構的數據:
def factorial(n): """遞歸函數求階乘""" if n == 1: return 1 else: return n * factorial(n-1) result = factorial(5) print(result)
輸出結果為:
120
五、閉包
閉包是指一個函數內部定義的函數,並且可以訪問外部函數的變數,常用於封裝變數、實現裝飾器等場景:
def outer_func(x): def inner_func(y): return x + y return inner_func f = outer_func(10) result = f(20) print(result)
輸出結果為:
30
原創文章,作者:PISCI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/374004.html