Python 中模块和函数的区别

2024 年 8 月 29 日 | 5 分钟阅读

Python 是一种被认为是进步的编程语言,以其优化能力而闻名。Python 删减了编程中多余的特性,使得工具在利用上更加丰富。在接下来的教程中,我们将讨论 Python 编程语言中模块和函数的区别。

什么是模块?

模块就是一个具有 .py 扩展名的 Python 文件,程序员可以在另一个 Python 程序中导入它。

Python 文件的名称就是模块的名称。

模块包含以下内容的定义和实现:

  1. 变量
  2. 函数

可以在另一个程序中使用。

模块的好处

  1. 可重用性:使用模块可以使代码可重用。
  2. 简洁性:模块针对问题的一小部分,而不是针对整个问题。
  3. 作用域:模块定义了一个独立的命名空间,有助于避免标识符之间的冲突。

什么是函数?

函数是一段组织良好且可重用的代码块,我们可以用它来执行单一的相关活动。函数分为不同类型:

  1. 用户定义函数
  2. 内置函数
  3. Lambda 函数
  4. 递归函数

用户定义函数

我们为了执行特定活动而定义的函数称为用户定义函数。

用户定义函数的优点

  1. 我们可以使用用户定义函数将大型程序分解成小的部分,这使得程序易于理解、维护和调试。
  2. 如果程序中出现重复的代码。我们可以使用函数来包含这些代码,并在需要时通过调用该函数来执行。

内置函数

Python 提供了各种现成的函数供使用。这些函数被称为内置函数。

内置函数列表

Lambda 函数

Lambda 函数被称为匿名函数,它们在没有名称的情况下定义。

虽然我们可以在 Python 中使用 def 关键字定义普通函数,但我们可以借助 lambda 关键字定义匿名函数。

Lambda 函数在 Python 中的使用

需要一个临时的无名函数。在 Python 中,我们通常将其作为高阶函数(接受其他函数作为参数的函数)的参数使用。

Lambda 函数与内置函数(如 filter()、map() 等)一起使用。

  1. filter():顾名思义,它用于根据需要过滤可迭代对象。filter() 函数会过滤原始可迭代对象,并将返回 TRUE 的元素传递给 filter 函数。
  2. map():map() 函数对可迭代对象中的元素执行函数的所有要求,并允许我们将函数应用于它,然后将其传递给结果,该结果可以具有相同或不同的值。

递归函数

递归函数是通过自引用表达式定义的函数。这意味着函数将继续调用自身并重复其行为,直到满足某些要求以返回输出。

在 Python 中定义和使用模块

在下一节中,我们将了解如何在 Python 中定义和使用模块。

首先,我们将创建一个带有 .py 扩展名的 Python 程序文件,并将其保存在本地存储库中。现在,我们可以将此程序文件导入到应用程序中,以在应用程序中包含模块的功能。

我们可以使用 import 命令来包含多个模块。

语法

注意:一旦我们在程序代码中包含了模块,我们就执行了代码而无需调用任何函数。这是因为我们在文件中定义并调用了函数。因此,整个文件被首先执行,被视为一个更大的函数,在被调用时执行。

让我们看一个例子。

示例

我们可以从创建的模块中删除函数调用,并使用点 (.) 运算符访问函数的属性、类以及所有其他值。

语法

让我们来看一个相同的示例。

示例

输出

Square root of 16: 4.0

说明

在上面的代码片段中,我们导入了 math 模块。然后,我们使用 math 模块的 sqrt() 函数来查找 16 的平方根,并为用户打印该值。

在 Python 中定义和调用函数

在下一节中,我们将了解如何在 Python 中定义和调用函数。

让我们看下面的示例来理解函数的定义和调用。

示例

输出

Greetings User! Welcome to Javatpoint.

说明

在上面的代码片段中,我们定义了一个简单的函数,它打印一个字符串然后终止。这个函数中的代码也可以被修改,使其更加有用。

我们可以将参数传递给函数,并通过不硬编码字符串来使上面的代码块更具可重用性。

让我们来看一个相同的示例。

示例

输出

Greetings Daniel, Welcome to Javatpoint.
Greetings Michelle, Welcome to Javatpoint.
Greetings Chris, Welcome to Javatpoint.
Greetings Dana, Welcome to Javatpoint.

说明

在上面的代码片段中,我们定义了一个接受 'name' 作为参数的函数,并打印了一个包含该参数的语句。然后,我们通过指定 name 参数的值来调用该函数,并从一个函数中打印了不同的语句。

正如我们可以观察到的,我们不必为不同的字符串重写函数或重复定义它。我们可以在整个应用程序中多次调用此函数。

结论

模块和函数在目的上(可重用性)可能看起来相似。然而,模块的规模更大,因为它们用于不同的类、函数和属性,以实现更大的功能。同时,函数更侧重于小规模的特定活动。


下一个主题Python 中反转元组