在 Python 中,函数是组织代码的基本单位。它们可以接收参数,执行一系列操作,并返回结果。以下是关于函数的定义、调用、参数、递归和 Lambda 函数的详细解释和示例。
使用 def 关键字定义函数,函数名后跟一对圆括号和一个冒号,函数体缩进。
def
def greet(name): print(f"Hello, {name}!")
通过函数名和一对圆括号调用函数,可以传递参数。
greet("Alice") # 输出: Hello, Alice!
函数参数包括位置参数、默认参数、可变参数和关键字参数。
按顺序传递的参数。
def add(a, b): return a + b result = add(3, 5) print(result) # 输出: 8
在定义函数时为参数提供默认值。
def greet(name="Guest"): print(f"Hello, {name}!") greet() # 输出: Hello, Guest! greet("Bob") # 输出: Hello, Bob!
使用 *args 接收任意数量的位置参数,使用 **kwargs 接收任意数量的关键字参数。
*args
**kwargs
def print_numbers(*args): for number in args: print(number) print_numbers(1, 2, 3, 4) def print_info(**kwargs): for key, value in kwargs.items(): print(f"{key}: {value}") print_info(name="Alice", age=30, city="New York")
通过参数名传递参数。
def greet(first_name, last_name): print(f"Hello, {first_name} {last_name}!") greet(last_name="Doe", first_name="John")
递归是指函数调用自身。递归函数需要一个终止条件以避免无限循环。
def factorial(n): if n == 0: return 1 else: return n * factorial(n-1) print(factorial(5)) # 输出: 120
Lambda 函数是一种简短的匿名函数,使用 lambda 关键字定义。Lambda 函数可以有多个参数,但只能有一个表达式。
lambda
# 定义一个 Lambda 函数 add = lambda x, y: x + y # 调用 Lambda 函数 result = add(3, 5) print(result) # 输出: 8 # 在列表中使用 Lambda 函数 numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x**2, numbers)) print(squared) # 输出: [1, 4, 9, 16, 25]
函数可以使用 return 语句返回值。如果没有 return 语句,函数默认返回 None。
return
None
def square(x): return x * x result = square(4) print(result) # 输出: 16
使用三重引号 """ 定义文档字符串,为函数添加描述。
"""
def add(a, b): """ 返回两个数的和。 参数: a -- 第一个数 b -- 第二个数 """ return a + b print(add.__doc__)
理解和掌握这些概念,可以帮助你在 Python 中编写高效、可维护的函数。
原文链接:codingdict.net