Python函数定义与调用¶
1. 函数的基本概念¶
函数是一段可重复使用的代码块,它可以接收输入(参数),执行特定任务,并返回结果。
1.1 函数的作用¶
- 代码复用
- 提高可维护性
- 模块化编程
- 提高代码可读性
2. 函数定义¶
2.1 基本语法¶
def 函数名(参数1, 参数2, ...):
函数体
return 返回值
2.2 示例¶
def greet(name):
"""这是函数的文档字符串,用于说明函数功能"""
return f"Hello, {name}!"
# 调用函数
print(greet("Alice")) # 输出:Hello, Alice!
3. 参数类型¶
3.1 位置参数¶
def add(x, y):
return x + y
result = add(2, 3) # x=2, y=3
3.2 默认参数¶
def greet(name, message="Hello"):
return f"{message}, {name}!"
print(greet("Bob")) # Hello, Bob!
print(greet("Bob", "Hi")) # Hi, Bob!
3.3 关键字参数¶
def student_info(name, age, city):
return f"{name} is {age} years old from {city}"
# 使用关键字参数,顺序可以不同
print(student_info(age=20, city="Beijing", name="Tom"))
3.4 可变参数¶
# *args:接收任意数量的位置参数
def calculate_sum(*numbers):
return sum(numbers)
print(calculate_sum(1, 2, 3, 4)) # 10
# **kwargs:接收任意数量的关键字参数
def print_info(**info):
for key, value in info.items():
print(f"{key}: {value}")
print_info(name="Alice", age=20, city="Shanghai")
4. 返回值¶
4.1 单一返回值¶
def square(x):
return x * x
result = square(5) # 25
4.2 多个返回值¶
def get_coordinates():
return 10, 20 # 返回元组
x, y = get_coordinates() # 解包:x=10, y=20
5. 函数调用¶
5.1 基本调用¶
def multiply(a, b):
return a * b
# 直接调用
result1 = multiply(4, 5)
# 保存返回值
result2 = multiply(b=3, a=6) # 使用关键字参数
5.2 函数作为参数¶
def apply_operation(func, x):
return func(x)
def double(n):
return n * 2
result = apply_operation(double, 5) # 10
6. 最佳实践¶
6.1 函数命名¶
- 使用小写字母和下划线
- 名称应该清晰表达功能
- 动词开头(如 get_、calculate_、update_等)
6.2 文档字符串¶
def calculate_area(radius):
"""
计算圆的面积
参数:
radius (float): 圆的半径
返回:
float: 圆的面积
"""
return 3.14 * radius * radius
6.3 参数检查¶
def divide(a, b):
if b == 0:
raise ValueError("除数不能为零")
return a / b
7. 小贴士¶
- 函数应该只做一件事,并做好这件事
- 保持函数简短,易于理解
- 使用有意义的参数名
- 适当添加注释和文档字符串
- 注意参数的默认值设置
- 考虑异常处理
def say_hello(name):
print(f"你好,{name}!")
say_hello("小明")