什么是 Python 函式?

在 Python 中,函式(Function) 是一段可重复使用的代码,用于执行特定的任务。函式能让代码更具结构性、提高可读性,并支持代码重用。函式通常可以接受参数并返回结果。

Python 函式的分类

  • 内建函式(Built-in Functions)
  • 自定义函式(User-defined Functions)
  • 匿名函式(Lambda Functions)
  • 高阶函式(Higher-order Functions)
  • 模组函式(Module Functions)
  • 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 当作变数使用
    • 模组函式 则专注于特定领域。