模块与包

Posted rongge95500

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块与包相关的知识,希望对你有一定的参考价值。

模块

定义:一系列功能的集合体。

模块的三种来源

  1. 内置模块
  2. 第三方模块
  3. 自定义模块

模块的四种格式

  1. 使用python编写的.py文件
  2. 已被编译为共享库或DLL的C或C++扩展
  3. 把一系列模块组织到一起的文件夹(文件夹下有一个__init__.py的文件,该文件夹称之为包)
  4. 使用C编写并连接到python解释器的内置模块

为什么要使用模块:

  1. 使用第三方或内置模块:可以加快开发效率
  2. 使用自定义的模块:可以减少代码冗余(抽取我们自己程序中要共用的一些功能定义为模块,然后程序的各部分组件都可以去模块中调用共享的功能)

如何使用模块:

大的前提是:要区分开哪个是执行文件,哪个是被导入的模块

例如:文件名是spam.py,模块名就是spam

首次导入模块时:

  1. 会产生一个模块的名称空间
  2. 执行模块文件,将执行过程中产生的名字都放到模块的名称空间中
  3. 在当前执行文件的名称空间中拿到一个模块名,该名字指向模块的名称空间

在之后再次导入模块时,都是直接引用第一次导入的结果,不会重新执行文件

模块之import

在执行文件中使用模块的语法:模块名.功能名字

例如:从spam模块中导入一个read功能

   在执行文件中使用时spam.read就可以

# 可以在一行导入多个模块
import os,sys,....      #(不推荐使用)

# 可以为模块起别名(使用import...as...)
import spam as sm

import 总结:

  • 优点:指名道姓的向某一个名称空间要名字,不会与当前名称空间中的名字冲突
  • 缺点:只要使用模块中的名字时都要加前缀,不简洁

模块之from....import....

# 可以在一行导入多个模块
from spam import read1, read2,.....

# *代表从被导入模块中拿到所有名字(不推荐使用)
from spam import *

# 可以为模块起别名(使用from...import...as...)
from spam import read as rd

from....import....总结:

  • 优点:使用时无需加前缀,更加简洁
  • 缺点:容易与当前执行文件中的名字冲突

 

以上是关于模块与包的主要内容,如果未能解决你的问题,请参考以下文章

python -模块与包

Python---模块与包

Python模块与包

Python基础day-16[模块与包]

python模块与包

python---模块与包