python函数参数的类型总结

  • Post category:Python

下面是Python函数参数类型总结的攻略:

位置参数

位置参数就是按照位置顺序传入的参数,也就是最常见的函数参数类型。它们在函数声明时定义,可以通过调用函数并传入对应数量的参数来使用。示例如下:

def power(x, n):
    result = 1
    while n > 0:
        result *= x
        n -= 1
    return result

# 调用函数
print(power(2, 3)) # 输出 8

在这个示例中,参数 xn 都是指定参数位置的位置参数。参数 x 是第一个位置参数,参数 n 是第二个位置参数。调用 power(2, 3) 将分别把 23 传递给 xn

默认值参数

默认值参数是一种在定义函数时可以给参数指定默认值的方式。当函数调用时没有传递该参数时,默认值参数将被设置为它们的默认值。示例如下:

def greet(name, greeting="Hello"):
    print(f"{greeting}, {name}!")

# 调用函数
greet("Alice")   # 输出 "Hello, Alice!"
greet("Bob", "Hi") # 输出 "Hi, Bob!"

在这个示例中,greeting 参数被赋了一个默认值 “Hello”。当我们调用 greet 函数时,如果只传入一个参数,函数将使用 “Hello” 作为问候语轻松地打招呼;如果 greeting 参数被明确传递 ,我们可以使用特定的问候语来打新的招呼。

可变参数

可变参数是可以接受任意数量的位置参数和关键字参数的函数参数类型。在参数名前加一个星号 *,它可以将所有的位置参数收集成一个元组并传递给函数。示例如下:

def sum(*numbers):
    result = 0
    for n in numbers:
        result += n
    return result

# 调用函数
print(sum(1, 2, 3)) # 输出 6
print(sum(1, 2, 30, 50)) # 输出 83

在这个示例中,sum 函数中的参数 *numbers 收集了传递的所有位置参数,并将它们打包成一个元组。然后,元组中的所有元素被相加,并以单个值的形式返回。

另一种可变参数是关键字参数。在参数名前加两个星号 **,它可以将所有的关键字参数收集成一个字典并传递给函数。就像这样:

def pretty_print(**data):
    for key, value in data.items():
        print(f"{key}: {value}")

# 调用函数
pretty_print(name="Alice", age=30, sex="female")
# 输出:
# name: Alice
# age: 30
# sex: female

在这个示例中,pretty_print 函数中的参数 **data 将所有的关键字参数组合成一个字典。然后,对于字典中的每个键-值对,它们都被打印到控制台上。

这就是 Python 函数参数类型的总结攻略,它包括:位置参数,默认值参数,可变参数等。