前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python模块】- 如何导入和使用模块?模块导入方式有哪些?

【Python模块】- 如何导入和使用模块?模块导入方式有哪些?

原创
作者头像
python自学网
发布2022-10-05 14:20:57
3.2K0
发布2022-10-05 14:20:57
举报
文章被收录于专栏:python+前端 知识分享

一、模块的介绍

1.1》模块的概念

模块是python程序架构的一个核心概念。

  • 每一个以扩展名py结尾的python源代码文件都是一个模块
  • 模块名同样也是一个标识符,需要符合标识符的命名规则
  • 在模块中定义的全局变量、函数、类都是提供给外界直接使用的工具
  • 模块就好比工具包,要想使用这个工具包中的工具,就需要先的导入这个模块


二、模块的2种导入方式

2.1》import导入

1.语法格式:

在导入模块时,每个导入的模块应该独占一行(推荐使用)

代码语言:javascript
复制
import 模块名1
import 模块名2

以下这种(不推荐使用)

代码语言:javascript
复制
import 模块名1, 模块名2

2.使用方式

通过 模块名. 的方式使用模块提供的工具 ——全局变量、函数、类

3.导入模块后使用工具代码示例

首先先准备两个模块,md_01_测试模块1和 md_02_测试模块2,然后在demo文件中导入模块并使用工具。

测试模块文件代码内容如下截图:

在demo文件中使用模块中的函数和类——代码如下:

代码语言:python
代码运行次数:0
复制
# 导入两个模块
import md_01_测试模块1
import md_02_测试模块2


# 使用模块中类创建对象
a = md_01_测试模块1.A()
print(a)

b = md_02_测试模块2.B()
print(b)


# 调用模块方法
md_01_测试模块1.name()
md_02_测试模块2.name()

执行结果:

4.扩展(模块别名)

如果模块的名字太长,可以使用as指定模块的别名(也就是好记的名字),以方便后续在代码中的使用。

使用as指定模块的别名

代码语言:javascript
复制
import 模块名1 as 模块别名

注意:

模块别名应该符合大驼峰命名法

改造上面代码:

代码语言:python
代码运行次数:0
复制
# 导入两个模块
import md_01_测试模块1 as ModulOne
import md_02_测试模块2 as ModulTwo


# 使用模块中类创建对象
a = ModulOne.A()
print(a)

b = ModulTwo.B()
print(b)


# 调用模块方法
ModulOne.name()
ModulTwo.name()

执行结果:

2.2》from...import导入

  • import 模块名 是一次性把模块中所有工具全部导入,并且通过模块名./别名.访问
  • 如果希望从某一个模块中导入部分工具,就可以使用from...import的方式

1.导入局部工具语法:

代码语言:javascript
复制
# 从模块导入某一个工具
from 模块名1 import 工具名

2.使用方式

不需要通过 模块名. 就可以直接使用模块提供的工具——全局变量、函数、类

代码示例:

代码语言:python
代码运行次数:0
复制
# 导入模块中的部分工具
from md_01_测试模块1 import A
from md_01_测试模块1 import name

# 直接调用函数、创建对象
name()

a = A()
print(a)

执行结果:

3.导入同名工具

注意:

如果两个模块中存在同名的函数,那么后导入模块的函数覆盖掉先导入的函数

代码验证:模块1在前模块2在后

代码语言:javascript
复制
from md_01_测试模块1 import name
from md_02_测试模块2 import name
 
# 直接调用函数
name()

结果为: 我是 模块2

代码验证::模块2在前模块1在后

代码语言:javascript
复制
# 分别导入模块中的函数
 
 from md_02_测试模块2 import name
 from md_01_测试模块1 import name
 
 # 直接调用函数
 name()

结果为:我是 模块1

开发习惯:开发时import代码应该统一写在代码的顶部,更容易既是发现冲突,一旦发现冲突,可以使用as关键字给其中一个工具起一个别名。

代码验证:给其中一个函数起别名调用两个函数

代码语言:javascript
复制
 # 分别导入模块中的函数
 from md_02_测试模块2 import name as ModuleTwo_name
 from md_01_测试模块1 import name
 
 
 # 直接调用2ge 函数
 name()
 ModuleTwo_name()

执行结果:

我是 模块1

我是 模块2

4.导入所有工具 —— from...import *(不推荐使用)

导入所有工具语法格式:

代码语言:javascript
复制
# 从模块导入所有工具
from 模块名1 import *

注意:这种方式不推荐使用,因为函数重名并没有任何的提示,一旦出现问题不好排查

使用工具方式:直接使用,不用 模块名. 的方式

代码验证:导入一个模块所有工具

代码语言:javascript
复制
from md_01_测试模块1 import *
 
 print(title)
 name()
 
 a = A()
 print(a)

执行结果:

验证:全局变量和函数同名都被后面的覆盖了,单单从代码上不好排查,如图

更多关于Python基础教程和进阶知识都可以去Python自学网学习,还有Python学习路线讲解。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、模块的介绍
    • 1.1》模块的概念
    • 二、模块的2种导入方式
      • 2.1》import导入
        • 1.语法格式:
        • 2.使用方式
        • 3.导入模块后使用工具代码示例
        • 4.扩展(模块别名)
      • 2.2》from...import导入
        • 1.导入局部工具语法:
        • 2.使用方式
        • 3.导入同名工具
        • 4.导入所有工具 —— from...import *(不推荐使用)
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档