python 函数传参机制与使用方法

  • Post category:Python

Python 函数传参机制是指在函数调用时,从外界向函数中传入参数的机制。Python支持两种方式的参数传递:位置参数和关键字参数。

位置参数传递

位置参数传递是指按照位置顺序将参数传递给函数。例如:

def add(a, b):
    return a + b

result = add(2, 3)
print(result) # 输出结果为 5

在上面的例子中,add函数有两个参数,以位置参数的方式将 2 和 3 传递给了 add 函数,返回结果为 5。

关键字参数传递

关键字参数传递是指按照参数名将参数传递给函数。例如:

def add(a, b):
    return a + b

result = add(a=2, b=3)
print(result) # 输出结果为 5

在上面的例子中,add函数有两个参数,以关键字参数的方式将 a=2 和 b=3 传递给了 add 函数,返回结果为 5。

默认参数

在函数定义时可以给参数设置默认值,这样在调用函数时可以不用传入此参数的值。例如:

def add(a, b=1):
    return a + b

result1 = add(2)
result2 = add(2, 3)
print(result1) # 输出结果为 3
print(result2) # 输出结果为 5

在上面的例子中,函数 add 的参数 b 设置了默认值为 1 ,因此在调用 add 函数时只传递一个参数,即 a=2 时,函数可以正常计算并返回 3,而当传递两个参数时,函数将使用传递的参数值计算并返回 5。

可变参数

在函数定义时,可以使用 *args 来定义可变参数,表示可以传递任意个参数,这些参数将以元组(tuple)的方式传递给函数。例如:

def add(*args):
    result = 0
    for arg in args:
        result += arg
    return result

result = add(1, 2, 3, 4)
print(result) # 输出结果为 10

在上面的例子中,函数 add 的参数定义为可变参数 *args,在调用 add 函数时,可以传递任意个参数给该函数,这些参数会被打包成一个元组 (1, 2, 3, 4) 传递给函数。函数里使用 for 循环遍历元组,并将每个元素计算出来,最终返回结果为 10。

关键字可变参数

在函数定义时,可以使用 **kwargs 来定义关键字可变参数,表示可以传递任意个关键字参数,这些参数将以字典(dict)的方式传递给函数。例如:

def print_info(name, age, **kwargs):
    print("name:", name)
    print("age:", age)
    print("other:", kwargs)

print_info("张三", 24, city="北京", phone="13312345678")

在上面的例子中,函数 print_info**kwargs 参数表示可以传递任意个关键字参数给函数。在调用 print_info 函数时,除了传入必需的 nameage 参数外,还传入了两个关键字参数 cityphone,这些参数会被打包成字典 {city:北京, phone:13312345678},然后传递给函数。函数里使用 ** 操作符展开字典,并将字典里的键值对作为参数传递给函数。运行结果如下:

name: 张三
age: 24
other: {'city': '北京', 'phone': '13312345678'}

以上就是 Python 函数传参机制及使用方法的完整攻略,希望能对您有所帮助。