Python函數(shù)定義有哪些類型

小樊
81
2024-11-09 15:17:22

在Python中,函數(shù)定義主要有以下幾種類型:

  1. 普通函數(shù)(Named Function):使用def關(guān)鍵字定義的函數(shù),需要為函數(shù)指定一個(gè)名稱。例如:
def my_function():
    print("This is a normal function.")
  1. 匿名函數(shù)(Lambda Function):使用lambda關(guān)鍵字定義的匿名函數(shù),通常用于簡(jiǎn)單的操作,不需要指定函數(shù)名。例如:
my_lambda = lambda x: x * 2
print(my_lambda(5))  # 輸出:10
  1. 遞歸函數(shù)(Recursive Function):在函數(shù)內(nèi)部調(diào)用自身的函數(shù),用于解決需要多次嵌套計(jì)算的問(wèn)題。例如:
def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)
  1. 高階函數(shù)(Higher-order Function):接受一個(gè)或多個(gè)函數(shù)作為參數(shù),或者返回一個(gè)函數(shù)作為結(jié)果的函數(shù)。例如:
def apply(func, x):
    return func(x)

def square(x):
    return x * x

result = apply(square, 5)  # 輸出:25
  1. 生成器函數(shù)(Generator Function):使用yield關(guān)鍵字定義的函數(shù),用于生成一個(gè)迭代器。例如:
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

0