您的位置:

Python 中模块和函数的区别

Python 是一种被认为是进步的编程语言,以其优化能力而闻名。Python 省去了编程的冗余特性,使工具的利用率更高。在下面的教程中,我们将讨论 Python 编程语言中模块和函数之间的区别。

什么是模块?

一个模块只是一个带有的 Python 文件。py 扩展,程序员可以在另一个 Python 程序中导入。

Python 文件的名称成为模块的名称。

该模块包括以下内容的定义和实现-

  1. 变量
  2. 功能

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

模块的优势

  1. 可重用性:使用模块使代码可重用。
  2. 简单性:模块针对小部分问题,而不是针对全部问题。
  3. 作用域:模块定义了一个独特的名称空间,支持避免标识符之间的冲突。

什么是函数?

一个函数是一组有组织的、可重用的代码,我们可以执行一个单独的、关联的活动。这些功能分为不同的类型-

  1. 用户定义的函数
  2. 内置功能
  3. λ函数
  4. 递归函数

用户定义的函数:

我们为执行特定活动而定义的功能称为用户定义功能。

用户自定义功能的好处

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

内置功能:

Python 有不同的功能,可以随时使用。这些函数被称为内置函数。

内置功能列表


abs(), delattr(), hash(), memoryview(), set(), all(), dict(), help(), min(), setattr(), any(), dir(), hex(), next(), slice(), ascii(), divmod(), id(), object(), sorted(), bin(), enumerate(), input(), oct(), staticmethod(), bool(), eval(), int(), open(), str(), breakpoint(), exec(), isinstance(), ord(), sum(), bytearray(), filter(), issubclass(), pow(),super(), bytes(), float(), iter(), print(), tuple(), callable(), format(), len(), property(), type(), chr(), frozenset(), list(), range(), vars(), classmethod(), getattr(), locals(), repr(), zip(), compile(), globals(), map(), reversed(), __import__(), complex(), hasattr(), max(), round()

Lambda 函数:

Lambda 函数被称为匿名函数,定义时没有名称。

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

Python 中 Lambda 函数的使用:

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

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

  1. 过滤器()\: 顾名思义,用于按照要求过滤 iterables。过滤器()函数过滤原始可迭代表,并传递给过滤器的函数返回真的元素。
  2. map()\:**map()**函数执行函数对可迭代表中元素的所有要求,并允许我们对其应用函数,然后将其传递给结果,结果可以有相同的值,也可以有不同的值。

递归函数:

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

在 Python 中定义和使用模块

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

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

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

语法:


import module_1, module_2, ...

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

让我们考虑下面的例子。

示例:


# importing a module
import math

我们可以从我们创建的模块中删除函数的调用,并使用点()访问函数的属性、类和所有其他有价值的东西。)操作员。

语法:


module_1.func_1()
module_2.name

让我们同样考虑下面的例子。

示例:


# importing a module
import math

# using the sqrt() function of the math module
print("Square root of 16:", math.sqrt(16))

输出:

Square root of 16: 4.0

说明:

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

在 Python 中定义和调用函数

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

为了理解函数的定义和调用,让我们考虑下面的例子。

示例:


# defining a function
def my_func():
    print("Greetings User! Welcome to Javatpoint.")

# calling the function
my_func()

输出:

Greetings User! Welcome to Javatpoint.

说明:

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

我们可以将一个参数传递给函数,通过不对字符串进行硬编码,使上面的代码块更容易重用。

让我们同样考虑下面的例子。

示例:


# defining a function
def my_func(name):
    print("Greetings " + name + ", Welcome to Javatpoint.")

# calling the function
my_func("Daniel")
my_func("Michelle")
my_func("Chris")
my_func("Dana")

输出:

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

说明:

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

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

结论

模块和功能可能看起来与其目的相似,即可重用性。然而,模块的规模更大,因为它们用于不同的类、函数和属性,以实现更大的功能。与此同时,职能更侧重于规模较小的具体活动。