一、函數的定義與調用
函數是Python程序中最基本的模塊化組織單位,其定義格式如下:
def func_name(param1, param2, ..., paramN):
/*函數體*/
return result
其中,func_name
表示函數名,param1, param2, ..., paramN
表示函數的參數,中間用逗號隔開。函數體是函數的代碼主體,用來執行某種特定的操作。最後用return
返回結果。函數的調用方式是直接使用函數名( )進行調用。
示例如下:
def add_num(a, b):
sum = a + b
return sum
num1 = 3
num2 = 5
result = add_num(num1, num2)
print(result) # 輸出結果為 8
二、位置參數調用
Python函數還支持位置參數的調用方式,即使用函數的參數順序來傳遞參數。該方式是Python中最簡單的函數調用方式。
示例如下:
def show_msg(name, age, gender):
print(f"Name: {name}")
print(f"Age: {age}")
print(f"Gender: {gender}")
show_msg('Alice', 25, 'Female') # 輸出結果為 Name: Alice,Age: 25,Gender: Female
show_msg(25, 'Alice', 'Female') # 報錯,參數順序錯誤
三、關鍵字參數調用
Python函數還支持關鍵字參數的調用方式,即使用形如arg_name=value
的方式來傳遞參數,注意這種方式與位置參數的混合使用需要遵守一定的規則。
示例如下:
def show_msg(name, age, gender):
print(f"Name: {name}")
print(f"Age: {age}")
print(f"Gender: {gender}")
show_msg(name='Bob', gender='Male', age=30) # 輸出結果為 Name: Bob,Age: 30,Gender: Male
show_msg(name='Eve', 20, gender='Female') # 報錯,參數順序錯誤
四、可變參數調用
Python函數還支持可變參數的調用方式,即使用*
表示變長參數,表示該參數列表可以接收多個不定數量的傳入參數,如下示例代碼:
def add_num(*nums):
sum = 0
for num in nums:
sum += num
return sum
result = add_num(1, 2, 3, 4, 5)
print(result) # 輸出結果為 15
五、默認參數調用
Python函數還支持默認參數的調用方式,即在函數定義時為參數指定一個默認值,如果調用時沒有傳遞參數,則使用該默認值。
示例如下:
def show_msg(name, age=18, gender='Male'):
print(f"Name: {name}")
print(f"Age: {age}")
print(f"Gender: {gender}")
show_msg('Alice') # 輸出結果為 Name: Alice,Age: 18,Gender: Male
show_msg('Bob', 25) # 輸出結果為 Name: Bob,Age: 25,Gender: Male
六、Lambda函數調用
Python函數還支持Lambda函數的調用方式,即匿名函數,使用lambda
關鍵字定義,通常用於一些簡單的函數操作,如下示例代碼:
d = lambda a,b: a if a>b else b
print(d(3,4)) # 輸出結果為 4
print(d(5,2)) # 輸出結果為 5
七、高階函數調用
Python函數還支持高階函數的調用方式,即將函數作為參數或返回值傳遞。
示例如下:
def apply_to_list(lst, func):
result = []
for i in lst:
result.append(func(i))
return result
def square(x):
return x * x
lst = [1, 2, 3, 4, 5]
print(apply_to_list(lst, square)) # 輸出結果為 [1, 4, 9, 16, 25]
八、小結
Python函數是組織程序的最基本的模塊化單位,可以定義函數名、參數、函數體和返回值。函數調用方式分為位置參數、關鍵字參數、可變參數、默認參數、Lambda函數和高階函數等多種方式,可以根據具體的需求選擇不同的方式,從而提高代碼的可讀性和可維護性。
原創文章,作者:QTAH,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/147604.html