引言
在 Python 编程的世界中,函数堪称构建复杂逻辑和模块化程序的基础砖石。它能够帮助程序员组织代码、避免重复,并通过封装逻辑提高代码的可读性和可维护性。本文旨在全方位解析 Python 函数的核心概念,包括基础定义、文档化、默认参数、可选参数、解包参数、关键字仅参数、注解、可调用性检查、函数名称获取、匿名函数(lambda 表达式)、生成器以及装饰器等多种实用特性。
一、函数基础与文档化
def example_func(param1, param2):"""这是一个示例函数,用于计算两个参数的和。参数:param1 (int): 第一个整数参数param2 (int): 第二个整数参数返回:int: 两个参数的和"""return param1 + param2
遵循 PEP 257 规范编写清晰的函数文档字符串,我们可以通过 example_func.__doc__
或 help(example_func)
获取该文档信息。
二、默认参数与可选参数
Python 支持定义带有默认值的参数,未提供相应参数时则使用预设值。
def add(a, b=0):return a + b
另外,*args
和 **kwargs
分别代表不定数量的位置参数和关键字参数,使函数具备更高的灵活性。
def versatile_example(a, b=None, *args, **kwargs):print(a, b)print(args)print(kwargs)
三、解包参数与关键字仅参数
Python 允许解包序列或映射到函数参数中。
def foo(a, b, c='BAZ'):print(a, b, c)foo(*("FOO", "BAR"), **