以下是Python函数特性的完整攻略:
函数的定义
函数定义使用关键字def
,格式为:
def 函数名(参数列表):
函数体
return 返回值
其中:
参数列表
可以为空,也可以有一个或多个参数,多个参数之间使用逗号分隔。- 函数体中可以包含多条语句,可以有返回值,也可以没有。
- 如果有返回值,使用关键字
return
返回一个或多个返回值,多个返回值之间使用逗号分隔。
示例1:定义一个简单的函数,计算两个数的和,并返回结果。
def add(a, b):
result = a + b
return result
参数传递
Python函数中的参数传递有两种方式:位置参数和关键字参数。
位置参数
位置参数是指按照参数列表中的顺序依次传递参数的方式。示例2:调用函数add
,传递两个位置参数。
result = add(1, 2)
print(result) # 输出3
关键字参数
关键字参数是指按照参数名=参数值的形式传递参数的方式。示例3:调用函数add
,传递两个关键字参数。
result = add(a=1, b=2)
print(result) # 输出3
默认参数
默认参数是在定义函数时就指定了默认值的参数。示例4:在函数add
中添加一个默认参数c=0
,计算三个数的和。
def add(a, b, c=0):
result = a + b + c
return result
result = add(1, 2)
print(result) # 输出3
result = add(1, 2, 3)
print(result) # 输出6
不定长参数
不定长参数是指传递的参数个数不确定的参数。Python提供了两种不定长参数:可变位置参数和可变关键字参数。
可变位置参数
可变位置参数是指使用一个*
号表示参数列表可以接受任意多个参数,并将这些参数作为一个元组传递给函数。示例5:定义一个函数var_args
,接受任意多个位置参数,并输出参数列表。
def var_args(*args):
for arg in args:
print(arg)
var_args(1, 2, 3) # 输出1, 2, 3
可变关键字参数
可变关键字参数是指使用两个*
号表示参数列表可以接受任意多个关键字参数,并将这些参数作为一个字典传递给函数。示例6:定义一个函数var_kwargs
,接受任意多个关键字参数,并输出参数列表。
def var_kwargs(**kwargs):
for key, value in kwargs.items():
print(key, value)
var_kwargs(a=1, b=2, c=3) # 输出a 1, b 2, c 3
以上就是Python函数特性的完整攻略。