上一篇
Python函数详解:内置函数与自定义函数教程 | Python编程指南
- Python
- 2025-08-01
- 1612
Python函数全面指南:从基础到高级应用
掌握Python函数编程的核心概念与实用技巧
什么是Python函数?
函数是Python编程中的基本构建块,它是一段可重复使用的代码,用于执行特定任务。使用函数可以:
- 提高代码复用率
- 使程序模块化
- 增强代码可读性
- 简化复杂任务的分解
Python内置函数
Python提供了丰富的内置函数,无需导入即可直接使用:
1. 基本输出与类型转换
# 输出函数
print("Hello, Python!") # 输出: Hello, Python!
# 类型转换函数
num_str = "123"
num_int = int(num_str) # 字符串转整数
num_float = float("3.14") # 字符串转浮点数
str_val = str(100) # 整数转字符串
print(f"类型转换结果: {num_int} (类型:{type(num_int)}), {num_float} (类型:{type(num_float)}), {str_val} (类型:{type(str_val)})")
2. 数学运算函数
# 数学函数示例
numbers = [4, 2, 9, 7, 5]
print(f"最大值: {max(numbers)}") # 输出: 9
print(f"最小值: {min(numbers)}") # 输出: 2
print(f"总和: {sum(numbers)}") # 输出: 27
print(f"绝对值: {abs(-10.5)}") # 输出: 10.5
print(f"四舍五入: {round(3.14159, 2)}") # 输出: 3.14
3. 迭代与序列处理
# 序列处理函数
names = ["Alice", "Bob", "Charlie"]
name_lengths = list(map(len, names)) # 计算每个名字的长度
print(f"名字长度: {name_lengths}") # 输出: [5, 3, 7]
filtered = list(filter(lambda x: len(x) > 4, names)) # 过滤长度大于4的名字
print(f"长名字: {filtered}") # 输出: ['Alice', 'Charlie']
# 使用enumerate获取索引和值
for index, name in enumerate(names, start=1):
print(f"{index}. {name}")
自定义函数
使用def关键字创建自定义函数,增强代码重用性:
1. 基本函数定义
# 定义简单的函数
def greet(name):
"""返回问候语 (这是文档字符串)"""
return f"你好, {name}!"
# 调用函数
print(greet("张三")) # 输出: 你好, 张三!
print(greet.__doc__) # 输出函数文档字符串
2. 带默认参数的函数
# 带默认参数值的函数
def power(base, exponent=2):
"""计算base的exponent次幂,默认平方"""
return base ** exponent
print(power(3)) # 输出: 9 (3的平方)
print(power(2, 4)) # 输出: 16 (2的4次方)
3. 可变参数函数
# 接受任意数量参数的函数
def calculate_average(*numbers):
"""计算任意数量数字的平均值"""
if not numbers:
return 0
return sum(numbers) / len(numbers)
print(calculate_average(10, 20, 30)) # 输出: 20.0
print(calculate_average(5, 15, 25, 35, 45)) # 输出: 25.0
Lambda函数(匿名函数)
Lambda函数用于创建小型匿名函数,适用于简单操作:
# Lambda函数示例
square = lambda x: x ** 2
print(square(5)) # 输出: 25
# 在排序中使用lambda
students = [
{"name": "Alice", "grade": 88},
{"name": "Bob", "grade": 76},
{"name": "Charlie", "grade": 92}
]
# 按成绩降序排序
students_sorted = sorted(students, key=lambda s: s["grade"], reverse=True)
print("按成绩排序:")
for student in students_sorted:
print(f"{student['name']}: {student['grade']}")
高级函数特性
1. 递归函数
# 递归计算阶乘
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
print(f"5的阶乘: {factorial(5)}") # 输出: 120
2. 闭包函数
# 闭包示例
def multiplier(factor):
"""创建一个乘数闭包"""
def multiply(x):
return x * factor
return multiply
double = multiplier(2)
triple = multiplier(3)
print(double(5)) # 输出: 10
print(triple(5)) # 输出: 15
3. 装饰器函数
# 装饰器示例:计算函数执行时间
import time
def timer_decorator(func):
"""装饰器:测量函数执行时间"""
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"{func.__name__} 执行时间: {end_time - start_time:.4f}秒")
return result
return wrapper
@timer_decorator
def slow_function():
"""模拟耗时操作"""
time.sleep(1.5)
return "操作完成"
print(slow_function())
函数最佳实践
- 使用有意义的函数名和参数名
- 保持函数简洁(通常不超过20行)
- 一个函数只做一件事
- 使用文档字符串说明函数功能
- 避免使用全局变量
- 合理使用默认参数和类型提示
本文由HanXiongShai于2025-08-01发表在吾爱品聚,如有疑问,请联系我们。
本文链接:https://liuhe.jltcw.com/20257031.html
发表评论