一、函数的定义与调用
函数是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/n/147604.html