Python語言基礎之函數語法
在 Python 中,函數可以通過以下語法定義和使用:
def function_name(parameter1, parameter2, ...): # 函數體 # 可以通過 return 語句返回值,也可以省略 return 語句 return ... # 調用函數 result = function_name(argument1, argument2, ...)
其中, def
關鍵字用于定義函數,后面跟著函數名稱和一對圓括號。函數名稱應該描述函數的功能,圓括號中可以列出函數的參數列表,多個參數之間用逗號分隔。
函數體包含了執(zhí)行函數所需的一組語句,可以訪問參數和之前定義的變量。
函數可以通過 return
語句來返回值,也可以省略 return
語句。調用函數時,需要提供與參數列表對應的一組實際參數,多個參數之間也用逗號分隔。返回值將賦值給調用函數時指定的變量 result
。 例如,下面是一個簡單的 Python 函數例子:
def add_two_numbers(x, y): return x + y # 調用函數并輸出結果 result = add_two_numbers(3, 4) print(result) # 輸出 7
除了普通函數之外,Python 還支持匿名函數(lambda 函數)、遞歸函數、默認參數、可變參數和關鍵字參數等高級函數特性。
1 匿名函數(lambda 函數)
在 Python 中,匿名函數也稱為 lambda 函數,它是一種小而簡單的函數,通常只包含一個表達式,可以用來代替常規(guī)函數。lambda 函數的語法如下:
lambda argument_list: expression
其中, argument_list
是參數列表,可以包含多個參數,多個參數之間用逗號分隔; expression
是一個表達式,用于實現匿名函數的功能。
最后,lambda 函數會返回這個表達式的結果。 在實際開發(fā)中,lambda 函數通常被用于函數式編程和高階函數中。例如,下面是一個使用 lambda 函數的例子:
# 使用 lambda 函數實現求平方和的操作 numbers = [1, 2, 3, 4, 5] squares_sum = sum(map(lambda x: x**2, numbers)) print(squares_sum) # 輸出 55
在這個例子中,使用 map
函數和 lambda 表達式來實現求平方和的操作,首先使用 lambda x: x**2
定義一個匿名函數,然后將這個函數作為參數傳遞給 map
函數,最后使用 sum
函數來計算這些平方數的和。 需要注意的是,lambda 函數通常只有一行代碼,如果需要處理復雜的邏輯,建議使用普通函數來代替。
2 python中函數的可變參數
Python 中的函數可以定義可變參數,即在定義函數時不確定會有多少個參數傳入,可以使用 *args
或 **kwargs
來實現可變參數。
*args
表示將所有的位置參數收集到一個元組中,可以用在函數調用時,將多個參數傳遞給函數。**kwargs
表示將所有的關鍵字參數收集到一個字典中,可以用來接收函數調用時的關鍵字參數。
下面是一個使用 *args
和 **kwargs
的示例:
def add(*args, **kwargs): # 計算 args 的總各 total = sum(args) # for循環(huán)輸出 kwargs中的內容 for key, value in kwargs.items(): # f 是 Python 3.6 中新增的一個字符串格式化方式 # 可以理解為插值法 print(f"{key} is {value}") return total # 調用函數 result = add(1, 2, 3, 4, 5, name='John', age=30) # 輸出結果 print(result)
這個函數使用了 *args
將所有的位置參數收集到元組 args
中,并且使用 **kwargs
將所有的關鍵字參數收集到字典 kwargs
中。
然后函數使用 sum
函數對所有的位置參數求和,并且遍歷字典 kwargs
打印每個關鍵字參數的鍵值對。最后函數返回求和的結果。
在上面的示例中,函數調用時傳入了位置參數 1, 2, 3, 4, 5 和關鍵字參數 name='John', age=30。函數將所有位置參數求和并返回結果 15,同時遍歷字典 kwargs
打印出每個關鍵字參數的鍵值對。
需要注意的是,如果同時使用 *args
和 **kwargs
,則需要先定義 *args
,再定義 **kwargs
,否則會產生語法錯誤。
到此這篇關于Python語言基礎之函數語法的文章就介紹到這了,更多相關Python 函數語法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python3+Selenium+Chrome實現自動填寫WPS表單
本文通過python3、第三方python庫Selenium和谷歌瀏覽器Chrome,完成WPS表單的自動填寫,通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02Django Admin后臺模型列表頁面如何添加自定義操作按鈕
這篇文章主要介紹了Django Admin后臺模型列表頁面如何添加自定義操作按鈕,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11