使用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编程变得更加简单。
