欢迎访问宙启技术站
智能推送

Python函数参数——学习函数参数类型及使用方法

发布时间:2023-06-21 07:09:01

Python是一种非常流行的编程语言,而函数是Python语言中最重要的部分之一。包含函数参数类型及其使用方法则是在开发高级Python编程技能时需要了解的基础知识。

在Python的函数中,参数是要被传递给函数的值或变量。函数按照不同的参数类型,可以分为以下几种:必选参数、默认参数、可变参数和关键字参数。

1.必选参数

必选参数是函数定义中的必要参数,函数的参数可以没有默认值,必选参数也可以不指定类型。在Python中,函数的参数列表就是必选参数。例如,下面的函数greeting()需要一个参数name:

def greeting(name):

    print("Hello, ", name)

当我们调用greeting()函数时,必须传递name参数才能正常工作。如果没有传递参数,该函数将会发生TypeError异常。

2.默认参数

默认参数允许我们在调用函数时不指定参数,如果我们不传递参数,则使用默认值。默认参数必须指定类型,这个类型可以是Python内置类型,也可以是自定义类型。例如,下面的函数greeting()有两个参数name和age:

def greeting(name, age=18):

    print("Hello, ", name)

    print("You are", age, "years old")

当我们调用greeting()函数时,如果不传递age参数则使用默认值18。

greeting("John", 20)        # Hello, John    You are 20 years old

greeting("Mary")            # Hello, Mary    You are 18 years old

3.可变参数

有时候,我们不知道要传递给函数的参数的数量。在这种情况下,我们可以使用可变参数来处理函数的参数,即可以传递任意数量的参数。

可变参数在函数定义中以*args的形式出现。 *args告诉Python将所有传递给函数的无名参数放到一个元组中。

例如,以下函数sum()使用可变参数来计算任意数量的数字的总和:

def sum(*args):

    total = 0

    for num in args:

        total += num

    return total

print(sum(1, 2, 3))         # 6

print(sum(1, 2, 3, 4, 5))   # 15

4.关键字参数

有时候,我们想要为函数传递一个包含关键字的参数列表。这种情况下,我们可以使用关键字参数。

关键字参数在函数定义中以**kwargs的形式出现。 **kwargs告诉Python将所有传递给函数的关键字放到一个字典中。

例如,以下函数greeting()使用关键字参数来接收名字和国家:

def greeting(**kwargs):

    if kwargs is not None:

        name = kwargs.get("name", "Anonymous")

        country = kwargs.get("country", "unknown")

        print("Hello, " + name + " from " + country)

greeting(name="John", country="USA")          # Hello, John from USA

greeting(name="Mary")                         # Hello, Mary from unknown

greeting()                                    # Hello, Anonymous from unknown

总结

Python语言中不同类型的函数参数可以让我们编写更加灵活和实用的Python函数。当我们无法预测要传递给函数的参数数量时,可变参数可以帮助我们处理函数的参数,并且使用关键字参数可以更好地传递函数参数。必选参数和默认参数是Python函数定义中常用的参数类型,与这些参数类型相关的Python语言是开发Python编程技能的重要组成部分。