一、什麼是函數?
函數是一段可重複調用的、封裝了一定代碼功能的程序段。在Python中,函數使用def定義。
def語句最簡單的函數形式如下:
def function_name(): function_body
其中,function_name是你所定義的函數名稱;function_body是一段Python代碼,用於實現該函數的功能。
當你調用函數時,Python會執行function_body中的代碼,然後返回執行結果。函數調用的一般形式如下:
function_name()
函數調用時可以傳入參數,以提供更多信息進行運算。在函數定義時,可以指定函數需要哪些參數,以及這些參數的類型。
二、定義函數
在Python中,使用def語句定義函數。函數定義的語法為:
def function_name(parameters): statement(s)
其中,function_name為函數名稱,parameters是函數的參數列表,用逗號分隔,可以為空;statement(s)是一段Python代碼,用於實現該函數的功能。
下面是一個求和函數的示例:
def sum(a, b): result = a + b return result
在這個示例中,sum是函數名稱,a和b是函數參數,result = a + b是函數的代碼實現,return表示函數的返回值。
三、調用函數
定義函數後,可通過函數名稱來調用它。調用函數時,將按順序傳遞參數。例如:
sum(3, 4)
這裡傳遞了兩個參數3和4,函數執行後會返回7。
如果函數沒有參數,則在調用函數時可以省略括號:
say_hello()
如果函數返回值不需要使用,則可以省略return語句:
def print_info(name, age): print("Name:", name) print("Age:", age) print_info("Alice", 25)
調用print_info時傳入兩個參數,函數中會輸出這兩個參數的值。
四、參數傳遞
在Python中,函數可以接收多個參數,包括默認參數、可變參數和關鍵字參數。
默認參數顧名思義,是函數定義時已經確定了默認值的參數,如果調用時不傳值則使用默認值。示例代碼如下:
def greet(name, message="Hello!"): print("Hi,", name, message) greet("Alice") greet("Bob", "How are you?")
示例代碼中,message是一個默認參數,函數greet中默認會輸出「Hello!」,但是如果在調用該函數時用參數message賦了值,則默認值不再起作用。
可變參數即允許傳入任意個參數,這些參數在函數內部會被組裝成一個tuple。*args表示任意多個無名參數。
示例代碼如下:
def sum(*args): result = 0 for i in args: result += i print(result) sum(1, 2, 3)
關鍵字參數允許你傳入0個或任意個含參數名的參數,這些參數在函數內部會被組裝成一個字典。**kwargs表示關鍵字參數。
示例代碼如下:
def show_info(name, age, **kwargs): print("Name:", name) print("Age:", age) for k, v in kwargs.items(): print(k, ":", v) show_info("Alice", 25, job="teacher", hobby="reading")
在函數定義中,kwargs接收的是一個字典,需要使用.items()遍歷。
五、lambda函數
lambda函數是Python的一種匿名函數,常用於較為簡單的操作。它的語法是:
lambda arguments: expression
arguments是函數的參數,expression是表達式,最後是該表達式的返回值。
原創文章,作者:MJZPI,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/331355.html