什么是 Python 函式?
在 Python 中,函式(Function) 是一段可重复使用的代码,用于执行特定的任务。函式能让代码更具结构性、提高可读性,并支持代码重用。函式通常可以接受参数并返回结果。
Python 函式的分类
1. 内建函式(Built-in Functions)
Python 提供了大量的内建函式,这些函式不需要额外导入模组即可使用。特性:即开即用,功能强大。
print(len("Hello")) # 内建的 len() 函式,返回字串的长度
max([1, 5, 3]) # 返回列表中的最大值
int("123") # 将字串转换为整数
常见的内建函式:数学相关:abs()、pow()、round()、sum()、min()、max()类型转换:int()、float()、str()、list()、dict()、tuple()输出输入:print()、input()逻辑判断:all()、any()、bool()
2. 自定义函式(User-defined Functions)
这是由用户自行定义的函式,根据需求来执行特定任务。特性:灵活,能根据特定问题量身打造。
def add(a, b):
return a + b
print(add(3, 5)) # 输出:8
3. 匿名函式(Lambda Functions)
匿名函式是一种简化的函式,不需要用 def 定义,而是直接使用 lambda 关键字。特性:适合一次性的小功能,常与高阶函式(如 map()、filter())结合使用。语法:lambda 参数: 表达式
square = lambda x: x ** 2
print(square(4)) # 输出:16
numbers = [1, 2, 3, 4]
squared_numbers = list(map(lambda x: x ** 2, numbers))
print(squared_numbers) # 输出:[1, 4, 9, 16]
4. 高阶函式(Higher-order Functions)
这些函式可以接受其他函式作为参数,或者返回一个函式。特性:结合函式与逻辑,适合处理迭代操作。常见高阶函式:
- map():对可迭代物件的每个元素应用函式。
- filter():筛选出满足条件的元素。
- reduce():累积计算(需引入 functools)。
# 使用 map 将数字列表中的每个元素平方
numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x ** 2, numbers))
print(squared) # 输出:[1, 4, 9, 16]
# 使用 filter 过滤偶数
even = list(filter(lambda x: x % 2 == 0, numbers))
print(even) # 输出:[2, 4]
5. 模组函式(Module Functions)
来自 Python 模组或套件的函式,需要透过 import 导入后才能使用。特性:专门解决特定问题,功能丰富。
import math
print(math.sqrt(16)) # 输出:4.0
from random import randint
print(randint(1, 10)) # 输出:1 到 10 的随机整数
总结Python 的函式能够灵活解决各种问题:
- 内建函式 提供即用功能:
- Python 内建函式:range() 函式:打造你的数字序列
- Python 内建函式:divmod()「商和余数」
- Python 内建函式: zip() & [list] 运用
- Python 内建函式: enumerate()在迭代中同时获取索引和值
- 自定义函式 用于实现特定逻辑。
- 匿名函式 适合简单且一次性使用:Python 的 Lambda 函式:简洁而强大的匿名函式
- 高阶函式 帮助处理迭代与筛选:
- Python 的 filter()函式:筛选出符合条件的元素
- Python 高阶函式:Higher-Order Function 当作变数使用
- 模组函式 则专注于特定领域。