python函数参数的种类有哪些

  • Post category:Python

Python函数参数的种类有以下几种:

  1. 位置参数(Positional Arguments):根据位置顺序传递的参数,也是最常用的参数形式。在定义函数时,需要确定该参数的数量,并以正确的顺序传递,调用函数时必须传入该参数,否则会提示缺少参数错误。

下面是一个示例代码,说明如何定义和调用函数时使用位置参数:

def greet(name, age):
    print("Hello, my name is %s and I'm %d years old." % (name, age))

greet("Alice", 25)  # 正确调用方式

运行结果为:

Hello, my name is Alice and I'm 25 years old.
  1. 关键字参数(Keyword Arguments):根据参数名称传递的参数,可以不按照顺序传递。在定义函数时,参数名称需要与调用函数时传入的名称一致。

下面是一个示例代码,说明如何定义和调用函数时使用关键字参数:

def greet(name, age):
    print("Hello, my name is %s and I'm %d years old." % (name, age))

greet(age=25, name="Alice") # 调用方式使用关键字参数

运行结果为:

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

下面是一个示例代码,说明如何定义和调用函数时使用默认参数:

def greet(name, age=18):
    print("Hello, my name is %s and I'm %d years old." % (name, age))

greet("Alice")  # 没有传递age参数,使用默认值
greet("Bob", 20)  # 如果提供参数,则使用提供的值

运行结果为:

Hello, my name is Alice and I'm 18 years old.
Hello, my name is Bob and I'm 20 years old.
  1. 可变参数(Variable-length Arguments):在调用函数时可以传递任意数量的参数,可以是一个或多个,使用‘*’表示,该参数在函数内部被转换为元组(tuple)类型。

下面是一个示例代码,说明如何定义和调用函数时使用可变参数:

def greet(*names):
    for name in names:
        print("Hello, my name is %s." % name)

greet("Alice", "Bob", "Chris") # 调用时传递任意数量的参数

运行结果为:

Hello, my name is Alice.
Hello, my name is Bob.
Hello, my name is Chris.
  1. 关键字可变参数(Keyword Variable-length Arguments):在调用函数时可以传递任意数量的关键字参数,使用‘**’表示,该参数在函数内部被转换为字典(dict)类型。

下面是一个示例代码,说明如何定义和调用函数时使用关键字可变参数:

def greet(**kwargs):
    for key, value in kwargs.items():
        print("My %s is %s." % (key, value))

greet(name="Alice", age=25)  # 调用时传递任意数量的关键字参数

运行结果为:

My name is Alice.
My age is 25.