函数
一、函数的定义与调用
使用
def关键字定义函数。调用函数:通过函数名和括号来调用函数,括号内传入实际参数。
def 函数名(参数列表):
"""文档字符串(可选)"""
# 函数体
return 返回值 # 可选示例:
def greet(name):
"""向指定名字的人问好"""
print(f"Hello, {name}!")
# 调用函数
greet("Alice") # 输出:Hello Alice二、参数类型
必选参数(Positional Arguments):参数按定义时的顺序传递。
def introduce(name, age):
print(f"I'm {name}, {age} years old.")
introduce("Bob", 25) # 正确
# introduce(25, "Bob") # 逻辑错误,但语法正确关键字参数:通过
参数名=值的形式传递参数,顺序无
默认参数:在定义函数时为参数指定默认值。默认参数必须放在非默认参数之后。
可变参数:使用
*args接收任意数量的位置参数,args是一个元组。
可变关键字参数:使用
**kwargs接收任意数量的关键字参数,kwargs是一个字典。
参数组合顺序:定义函数时,参数的顺序必须是:
def func(位置参数, *args,默认参数, **kwargs):
三、返回值
使用
return语句返回值。函数可以返回单个值、多个值(实际上是返回一个元组)、或不返回任何值(隐式返回
None)。return会立即结束函数执行。
四、作用域(Scope)
Python 遵循 LEGB 规则来查找变量:
Local:函数内部
Enclosing:外层函数
Global:全局作用域
Built-in:内置作用域
global 和 nonlocal 关键字
global:在函数内部修改全局变量。
nonlocal:在嵌套函数中修改外层函数的变量。
五、匿名函数(Lambda)
使用lambda关键字创建小型匿名函数。
六、高阶函数
函数可以作为参数传递给其他函数,或作为返回值返回。
七、装饰器(Decorator)
装饰器是一种特殊类型的函数,它可以修改其他函数的功能。
带参数的装饰器(多层嵌套)
八、文档字符串(Docstring)
使用三重引号 """ 编写函数的文档,可通过 help() 或 .__doc__ 查看。
九、函数注解(Type Hints)
为参数和返回值提供类型提示,提高代码可读性和可维护性。
最后更新于