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

使用Python的Def函数定义新函数

发布时间:2023-05-26 08:07:13

在Python编程中,使用def语句可以定义新的函数。语法如下:

def function_name(parameters):
    statements

其中,function_name是函数的名称,parameters是函数的参数,statements是函数要执行的语句块。

例如,以下代码定义了一个名为print_hello的函数,没有参数,当调用该函数时,将打印“Hello, World!”:

def print_hello():
    print("Hello, World!")

调用该函数的方法如下:

print_hello()

输出结果为:

Hello, World!

除了不带参数的函数,我们也可以定义带参数的函数。

例如,以下代码定义了一个名为print_name的函数,带有一个参数name,当调用该函数时,将打印出“Hello, ”加上传递给函数的name参数值:

def print_name(name):
    print("Hello, " + name + "!")

调用该函数的方法如下:

print_name("Alice")
print_name("Bob")

输出结果为:

Hello, Alice!
Hello, Bob!

除了普通的参数,Python还支持默认参数和不定长参数。

默认参数是指在定义函数时,给参数设置一个默认值,如果调用函数时没有传递该参数,则使用默认值。

例如,以下代码定义了一个名为print_age的函数,带有两个参数:name和age,其中age的默认值为0。当调用该函数时,如果只传递name,则age默认为0,如果同时传递了name和age,则使用传递的age值。

def print_age(name, age=0):
    print(name + " is " + str(age) + " years old.")

print_age("Alice")
print_age("Bob", 18)

输出结果为:

Alice is 0 years old.
Bob is 18 years old.

另外,不定长参数是指在定义函数时,不确定要传递多少个参数。Python提供了两种不定长参数:

* *args:表示任意多个无名参数,是一个元组。

* **kwargs:表示任意多个关键字参数,是一个字典。

例如,以下代码定义了一个名为print_any的函数,带有两个不定长参数args和kwargs,当调用该函数时,将遍历args打印每个参数,遍历kwargs打印每个键值对。

def print_any(*args, **kwargs):
    for arg in args:
        print(arg)
    for key, value in kwargs.items():
        print(key + ":" + str(value))

print_any(1, 2, 3, name="Alice", age=18)

输出结果为:

1
2
3
name:Alice
age:18

总之,Python的def语句提供了一个非常方便的方式,可以定义任意复杂的函数,让Python编程变得更加简单。