在Python中,函数是一段可重复使用的代码块,用于执行特定任务。通过函数,可以将代码模块化,提高代码的可读性和可维护性。以下是关于Python函数的详细解释:
定义函数
在Python中,使用 def
关键字来定义函数,语法如下:
def function_name(parameters):
"""文档字符串"""
# 函数体,即要执行的代码块
return expression # 可选,用于返回值
function_name
是函数的名称,应符合标识符命名规则。parameters
是函数的参数列表,可以包含零个或多个参数,多个参数之间用逗号分隔。- 文档字符串(docstring)用于描述函数的功能和使用方法,可以通过
help()
函数查看。 return
语句用于从函数中返回值,可以返回一个值或多个值(以元组形式)。
调用函数
要调用函数,只需使用函数名加上括号,并传入相应的参数(如果有)。例如:
result = function_name(argument1, argument2)
示例
以下是一个简单的函数示例,计算两个数的和:
def add(x, y):
"""计算两个数的和"""
return x + y
result = add(3, 5)
print(result) # 输出 8
默认参数
函数可以有默认参数值,调用函数时如果未提供这些参数的值,则会使用默认值。示例如下:
def greet(name, greeting="Hello"):
"""向指定姓名打招呼"""
print(greeting + ", " + name + "!")
greet("Alice") # 输出 "Hello, Alice!"
greet("Bob", "Good morning") # 输出 "Good morning, Bob!"
可变参数
函数的参数个数可以是可变的,使用 *args
来表示可变位置参数,使用 **kwargs
来表示可变关键字参数。示例如下:
def sum(*args):
"""计算任意个数的和"""
total = 0
for num in args:
total += num
return total
print(sum(1, 2, 3, 4, 5)) # 输出 15
匿名函数(Lambda 函数)
Python支持使用 lambda
关键字创建匿名函数,即没有函数名的小型函数。示例如下:
multiply = lambda x, y: x * y
print(multiply(3, 4)) # 输出 12
匿名函数通常用于传递简单函数作为参数,例如在 map()
、filter()
等函数中使用。
作用域
在函数中定义的变量拥有局部作用域,即只能在函数内部访问。可以使用 global
关键字在函数内部声明全局变量。