10个令人惊讶的有用基础Python函数

2025年1月5日 | 阅读 4 分钟

Python 是一种高级、解释型编程语言,以其清晰易懂而闻名。它由 Guido van Rossum 创建,并于 1991 年首次发布,Python 通过其出色的空格使用强调代码的可读性。它支持多种编程范式,包括过程式、面向对象和函数式编程。Python 庞大的标准库、动态类型和动态绑定使其成为网络开发、数据分析、人工智能和科学计算等众多应用场景的绝佳选择。其语法和结构鼓励编写简洁、逻辑清晰的代码,这使得它在初学者和经验丰富的开发者中都得到了广泛的应用。Python 的社区驱动开发以及庞大的库和框架生态系统进一步增强了其通用性和强大功能。

理解 Python 中的函数

在 Python 中,函数是一个可重用的代码块,用于执行特定的任务。函数使用 `def` 关键字定义,可以接受参数并返回值。它们增强了代码的模块化、清晰度和可维护性。Python 支持多种类型的函数,包括内置函数、用户定义函数、lambda 函数和高阶函数,从而实现灵活高效的编程实践。函数还可以捕获其封闭作用域中的变量,这种特性称为闭包。

Python 函数的特点是什么?

以下是 Python 函数的一些主要特点:

  • 使用 `def` 关键字定义。
  • 可以接收参数以传递数据。
  • 可以使用 `return` 语句返回一个值。
  • 支持默认参数值。
  • 可以使用 `*args` 和 `**kwargs` 接收可变数量的参数。
  • 可以包含文档字符串(docstrings)用于描述。
  • 允许使用 `lambda` 创建小型匿名函数。
  • 支持嵌套函数(函数内部的函数)。
  • 支持闭包,捕获其封闭作用域中的变量。
  • 可以使用函数装饰器来增强行为。
  • 支持递归,即函数在其定义中调用自身。

10 个有用的 Python 内置函数

函数 1:`enumerate()`

enumerate() 函数为可迭代对象添加一个计数器,并将其作为一个枚举项返回。

示例

输出

 
0 apple
1 banana
2 cherry   

说明

`enumerate()` 函数为 `completion` 列表添加了一个计数器(从 0 开始),允许在循环中同时访问索引和项。

函数 2:`zip()`

zip() 函数将多个可迭代对象组合成一个由元组组成的单一可迭代对象。

示例

输出

 
John is 23 years old
Jane is 29 years old
Doe is 34 years old   

说明

`zip()` 函数将 `names` 和 `ages` 中的元素配对,创建包含对应元素的元组。

函数 3:`any()`

如果可迭代对象中的任何元素为真,any() 函数将返回 `True`。

示例

输出

 
At least one number is non-zero   

说明

`any()` 函数检查 `numbers` 中的任何元素是否为非零(真)。因为 `1`、`2` 和 `3` 都为非零,所以它返回 `True`。

函数 4:`all()`

如果可迭代对象中的所有元素都为真,all() 函数将返回 `True`。

示例

输出

 
All numbers are non-zero   

说明

`all()` 函数检查 `numbers` 中的所有元素是否为非零。因为它们都是非零的,所以它返回 `True`。

函数 5:`filter()`

从可迭代对象中构建一个迭代器,其中函数返回真。

示例

输出

 
[2, 4, 6]   

说明

`filter()` 函数将 lambda 函数(检查偶数)应用于 `numbers` 中的每个元素,只返回偶数。

函数 6:`map()`

map() 函数将一个函数应用于输入列表中的所有项。

示例

输出

 
[1, 4, 9, 16, 25]   

说明

`map()` 函数将 lambda 函数(计算每个数字的平方)应用于 `numbers` 中的每个元素,返回平方后的值。

函数 7:`sorted()`

sorted() 函数从任何可迭代对象的元素返回一个新的排序列表。

示例

输出

 
[1, 1, 3, 4, 5, 9]   

说明

`sorted` 函数按升序对 `numbers` 列表进行排序。

函数 8:`reversed()`

reversed() 函数返回一个反向的迭代器。

示例

输出

 
5
4
3
2
1   

说明

`reversed()` 函数返回一个以相反顺序遍历 `numbers` 列表的迭代器。

函数 9:`itertools.chain()`

itertools.chain() 函数将多个可迭代对象组合成一个单一的可迭代对象。

示例

输出

 
[1, 2, 3, 4, 5, 6]   

说明

`itertools` 模块中的 `chain()` 函数将 `list1` 和 `list2` 组合成一个单一的可迭代对象。

函数 10:`collections.Counter`

collections.Counter() 函数返回一个用于统计可哈希对象计数的字典子类。

示例

输出

 
Counter({'apple': 3, 'banana': 2, 'orange': 1})   

说明

`collections` 模块中的 `Counter` 类统计 `words` 列表中每个元素的出现次数。