如何在Python中定义函数 - 语法和示例
在Python中,函数是一段可重复使用的可执行代码块,它接受数据(参数)作为输入,执行特定的操作,然后返回结果。
定义函数的基本语法是:
def function_name(parameters):
"""
docstring
"""
function_body
return [expression]
其中:
- def关键字表示定义函数。
- function_name是函数的名称,遵循标识符的命名规则。
- parameters是函数的参数列表。它们是可选的,但如果有,则要包裹在圆括号()中,多个参数以逗号分隔。
- docstring是函数的文档字符串,用于描述函数的用途和功能,建议加上。它们可以在函数定义中用三个引号""" """括起来。
- function_body是函数的主体,它包含了要执行的代码块。
- return语句可选。用于返回函数的结果。
以下是一个简单的函数定义示例:
def greet(name):
"""
This function greets the person passed in as a parameter.
"""
print("Hello, " + name + ". How are you?")
# 调用函数
greet("John")
在此示例中,我们定义了一个名为greet的函数。它接受一个参数name,并在屏幕上显示一条问候信息。我们在函数定义结束后调用它,并将"John"作为参数传递给它。函数的执行结果是输出"Hello, John. How are you?"。
您可以将参数设置为默认值,以便函数在没有指定完整参数列表时也可正常工作。示例:
def greet(name, greeting="Hello"):
"""
This function greets the person passed in as a parameter.
The greeting message can be customized.
"""
print(greeting + ", " + name + ". How are you?")
# 调用函数
greet("John") # 使用默认的"Hello"问候
greet("Jane", "Hi") # 使用自定义的"Hi"问候
在此示例中,我们将greeting参数设置为默认值"Hello"。如果我们在调用函数时没有指定该值,则使用默认值。调用greet("John")将输出"Hello, John. How are you?",调用greet("Jane", "Hi")将输出"Hi, Jane. How are you?"。
除了普通参数,Python还支持可变参数(传递不定数量的参数)和关键字参数(传递带有标签的参数)。以下是一个展示如何使用这些功能的示例:
def multiply(*numbers):
"""
This function multiplies any number of numbers passed in as parameters.
"""
result = 1
for number in numbers:
result *= number
return result
def print_user_info(name, **info):
"""
This function prints out a user's information passed in as keyword arguments.
"""
print("Name:", name)
for key, value in info.items():
print(key + ":", value)
# 调用函数
print(multiply(2, 3, 4)) # 输出 24
print_user_info("John", age=25, city="New York", phone="123-456-7890")
在此示例中,我们定义了一个接受任意数量参数的函数multiply,并定义另一个接受带有标签的参数的函数print_user_info。 multiply使用星号*前缀来表示一个可变参数列表,print_user_info使用两个星号**前缀表示一个带有关键字参数列表。 multiply函数返回乘积,而print_user_info函数打印用户信息。
希望这个简短的Python函数定义的指南可以帮助您开始理解如何定义和使用函数。
