在Python中自定义函数是编程中的基础技能,通过函数可以实现代码复用、模块化设计,并提升代码可读性。以下是自定义函数的详细说明:
一、函数定义的基本结构
-
语法格式
def function_name(parameters): statements return result
-
def
:关键字,用于定义函数; -
function_name
:函数名,需符合命名规范(小写+下划线); -
parameters
:可选参数列表,用于传递输入数据; -
statements
:函数体,包含执行逻辑; -
return
:可选语句,用于返回结果(可省略)。
-
-
示例
def greet(name): print(f"Hello, {name}!") return f"Nice to meet you!" greet("Alice") # 输出: Hello, Alice! 和 Nice to meet you!
二、函数的关键特性
-
参数传递
-
位置参数 :按顺序传递,如
sum_all(10, 20)
; -
默认参数 :未传递时使用默认值,如
def greet(name="Guest"): ...
; -
可变参数 :使用
*args
支持不定参数,如def sum_all(*args): ...
。
-
-
嵌套函数
可在函数内部调用其他函数,例如:
def outer(): def inner(): print("Inner function called") inner() outer() # 输出: Inner function called
-
作用域与闭包
-
局部变量仅在函数内部有效;
-
嵌套函数可访问外部函数的变量,形成闭包。
-
三、函数的应用场景
-
代码复用
避免重复代码,例如计算平方的函数可多次调用:
def square(n): return n * n print(square(5)) # 输出: 25
-
模块化设计
将复杂任务拆分为多个小函数,如文件读写、数据处理等。
-
自定义排序
使用
sorted()
函数的key
参数实现自定义排序:people = [("Alice", 30), ("Bob", 25)] sorted_people = sorted(people, key=lambda x: x) print(sorted_people) # 按年龄排序
四、注意事项
-
命名规范 :避免使用Python内置函数名(如
list
,dict
)作为参数名; -
缩进要求 :函数体需使用4个空格或1个制表符缩进;
-
异常处理 :建议使用
try-except
块处理潜在错误。
通过合理设计和封装函数,可以显著提升Python代码的可维护性和扩展性。