python函数参数的种类有哪些

  • Post category:Python

Python 函数参数分为以下几种类型:

  1. 位置参数(Positional Arguments):按照函数定义时的位置,依次传递实参,参数个数和参数位置必须一一对应。

例如,下面的代码定义了一个求和函数 add(),通过两个位置参数 a 和 b 来计算它们的和。

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

调用该函数时,需要按照定义的位置参数顺序传递两个参数:

sum = add(3, 4)
print(sum)  # 输出 7
  1. 关键字参数(Keyword Arguments):根据参数名来指定传递的实参,参数顺序可以任意。

例如,下面的代码定义了一个函数 print_person_info(),通过关键字参数来输出一个人的信息。

def print_person_info(name, age, gender):
    print("My name is {}, I'm {} years old, and my gender is {}.".format(name, age, gender))

调用该函数时,可以使用参数名来指定每个实参的值,不必按照位置顺序传递:

print_person_info(name="Alice", age=20, gender="Female")
print_person_info(gender="Male", name="Bob", age=25)

输出:

My name is Alice, I'm 20 years old, and my gender is Female.
My name is Bob, I'm 25 years old, and my gender is Male.
  1. 默认参数(Default Arguments):在函数定义时指定的参数默认值,在调用函数时可以不传递该参数,如果没有传递该参数,则使用默认值。

例如,下面的代码定义了一个函数 greet(),通过默认参数来向指定的人员打招呼。

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

调用该函数时,如果不指定 greeting 参数,则默认使用 “Hello” 打招呼:

greet("Alice")
greet("Bob", "Hi")

输出:

Hello Alice!
Hi Bob!
  1. 可变位置参数(Variable Positional Arguments):一个函数可以接受任意数量的位置参数,这些参数会被封装成一个元组。

例如,下面的代码定义了一个函数 print_args(),可以接受任意数量的位置参数。

def print_args(*args):
    print(args)

调用该函数时,可以传递任意数量的位置参数:

print_args(1, 2, 3)
print_args("a", "b", "c", "d")

输出:

(1, 2, 3)
('a', 'b', 'c', 'd')
  1. 可变关键字参数(Variable Keyword Arguments):一个函数可以接受任意数量的关键字参数,这些参数会被封装成一个字典。

例如,下面的代码定义了一个函数 print_kwargs(),可以接受任意数量的关键字参数。

def print_kwargs(**kwargs):
    print(kwargs)

调用该函数时,可以传递任意数量的关键字参数:

print_kwargs(a=1, b=2)
print_kwargs(name="Alice", age=20, gender="Female")

输出:

{'a': 1, 'b': 2}
{'name': 'Alice', 'age': 20, 'gender': 'Female'}

以上就是 Python 函数参数的种类,希望能帮助你更好地理解函数的使用。