分类
文章

Python模块-面向初学者的循序渐进教程

在此Python编程课程中,我们将解释Python模块的概念,用途,语法,并通过示例进行演示。请注意,模块是Python中模块化编程的基础。

Python中的模块

问候读者,在本教程中,您将学习Python中的模块及其用法。我们还将教您如何在Python中实现它们。

注意:我们将根据Python 3语法进行教学。稍作修改,即可在Python 2上使用代码段。

1。Python模块简介

模块主要是(.py)文件,其中包含定义函数,类,变量等的Python代码,并在文件名后附加后缀.py。

它们可以在一个文件中具有不同的函数,变量和类。我们也可以称它们为库。

Python模块带来了某些好处,例如我们可以减少代码中的冗余。它可以让我们保持编码风格的一致性。

示例:取一个名为math_function_def.py的文件

它可能包含用于计算数字,立方,平方根,常量值(例如pi的值),斐波那契序列生成代码等的阶乘的函数。

通常,创建具有固定用途的模块是一种好习惯。它提高了可读性,并提高了生产率和错误报告。

模块的几个示例是:

从Python标准库:

  • 操作系统,时间,数学,MatPlotlib等。

从在线来源:

  • Keras(用于深度学习),Numpy(用于数字操作),Pandas(用于数组操作)等。
2。Python模块:机制

2.1。机制

对于预安装Python或使用系统软件包管理器(如apt-get,dnf,zypper等)或使用软件包环境管理器(如Anaconda)进行安装的系统,以下内容适用。

当我们导入模块时,python解释器会从三个位置找到它们:

  1. 程序中的目录正在执行
  2. 在PYTHONPATH变量(shell变量或环境变量)中指定的目录
  3. 默认目录(取决于操作系统发行版。)

以上机制的流程图如下:

2.2。模块清单

要找出python中存在的模块列表,我们可以在Python解释器外壳中发出命令:help(“modules”)。

执行以上命令将返回可用模块的列表,如下所示:

此外,您还可以在控制台中发出pip list或conda list命令以列出所有可用模块。

下图显示了Windows 10 cmd Shell中第二种方法的输出。

3。模块:实施

3.1。从标准Python路径导入模块

语法–使用全名


import module_name1, module_name2…

例:


import os

如果模块名称太长而无法键入,我们可以为别名分配一个短字母。

语法–使用短名称


import module_name as shortened_module_name

例:


import math as m

对于那些模块名称过长而无法记住的人来说,这是一个节省时间的时间。

3.2。从新来源导入模块

要从新来源加载新模块,我们必须使用python pip安装一个软件实用程序,该实用程序可以从python索引在线安装python模块,或者使用软件包环境管理器(如Anaconda)。

Python PIP安装新模块

运行以下命令以安装Python模块。


python -m pip3 install module_package_name

Anaconda安装新模块

运行以下命令以安装Python模块


conda install module_package_name

系统软件包管理器以安装新模块

运行以下命令以在Ubuntu上安装Python模块。


sudo apt install module_package_name

例如,如果我们要安装numpy。


python -m pip3 install numpy
conda install numpy
sudo apt install python3-numpy
4。模块程序示例

4.1。内建模块

有几个内置模块,例如dir(),math(),random(),time(),datetime()等。

示例程序:


import math, random #we can write multiple modules in one import statement.

print (math.sqrt(625)) #prints square root of number 625

print (math.factorial(10)) #prints factorial of a number 10

print (math.pi) #prints value of pi according to the built-in module

print (random.randint(1,20)) #prints a random value from integers 1-20

print (dir(math)) #prints function name, variables,etc in math module

4.2。用户定义的Python模块

以python文件为例,factorial_definition.py


def factorial():
    out = 1
    if num < 0:
        print("Sorry, factorial does not exist for negative numbers")
    elif num == 0:
        print("The factorial of 0 is 1")
    else:
        for i in range(1, num + 1):
            out = out*i
    return out

# For testing purpose:
# num = 5
# print("The factorial of",num,"is",factorial())

Pi = 3.14

将此文件保存在PYTHONPATH或其他程序将导入模块的路径中。

要导入此文件,我们在程序中使用以下代码,这将加载模块。


import factorial_definition

factorial_definition.factorial()

我们可以使用factorial_definition来调用变量Pi。皮

由于模块名称很长,因此我们可以使用将factorial_definition作为事实进行重命名,然后使用它来调用变量和变量。

如果我们只想导入Pi变量,可以使用factorial_definition import Pi。

5,模块的用法

模块用于减少程序中的冗余语句。它节省了时间,并提高了可读性和生产率。它们还用于扩展python的功能,并允许世界各地的不同开发人员以协调的方式工作。

例如,谷歌开发了Tensorflow,其中包含用于深度学习的功能,并且对过去多年的贡献开放。它是一个开源模块,因此来自世界各地的人们可以参与并扩大深度学习应用程序的范围。

TensorFlow库使用如下所示的图标。

开源模块的其他示例包括Keras,OpenCV等。

Keras模块

OpenCV模块

要了解更多主题,请阅读最新的Python教程

发表评论

电子邮件地址不会被公开。 必填项已用*标注