详解Python 函数特性

  • Post category:Python

以下是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函数特性的完整攻略。