在Python中,函数定义主要有以下几种类型:
- 普通函数(Named Function):使用
def
关键字定义的函数,需要为函数指定一个名称。例如:
def my_function(): print("This is a normal function.")
- 匿名函数(Lambda Function):使用
lambda
关键字定义的匿名函数,通常用于简单的操作,不需要指定函数名。例如:
my_lambda = lambda x: x * 2 print(my_lambda(5)) # 输出:10
- 递归函数(Recursive Function):在函数内部调用自身的函数,用于解决需要多次嵌套计算的问题。例如:
def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1)
- 高阶函数(Higher-order Function):接受一个或多个函数作为参数,或者返回一个函数作为结果的函数。例如:
def apply(func, x): return func(x) def square(x): return x * x result = apply(square, 5) # 输出:25
- 生成器函数(Generator Function):使用
yield
关键字定义的函数,用于生成一个迭代器。例如:
def fibonacci(n): a, b = 0, 1 for _ in range(n): yield a a, b = b, a + b fib = fibonacci(5) for num in fib: print(num) # 输出:0 1 1 2 3