模块

<!doctype html>模块

模块

模块是什么: !!!!!

模块 是一组功能的集合 python中一个功能就是一个函数 一个py文件就是一个模块 例如 A.py 文件名A.py 模块名 A

模块的分类:

1.自定义模块 !!!!

(第三方模块也属于自定义 它是别的程序员写的 ) ​ 关注如何自定义

2.内置模块 !!!!

是c语言写的 然后连接到python解释器中 ​ 例如 time模块 ​ 关注如何使用

3.已经编译为DLL c或c++ ***

不需要知道怎么来的 会用就行

4.包 !!!!!

包实际上是包含一堆模块的文件夹 ​ 之后详细将

对于这四种模块 它们的使用方式 是一致的

如何定义模块:!!!!!

创建一个py文件 把你的功能写到文件中

如何使用模块:!!!!!

import 关键字 用于导入模块到当前文件中 ​ 例如:import time

当执行import 做了什么? !!!!!

1.创建了一个命名空间 ​ 2.执行被导入的py中的代码 将里面的名字和地址对应关系 存储到命名空间中 ​ 3.在执行文件中 创建一个名字 该名字指向的地址就是 第一步创建的命名空间(模块的命名空间)

执行文件和被导入的模块的命名空间 是相互独立的 !!!!

在被导入模块中 所有的名字使用的都是自己空间中的 和调用者无关

import 的其他写法 !!!!!

1.给模块取别名 用于简化书写
 
 
 
 
 
 
 
 
import xxx  as xxx
 
 
2.一次导入多个模块
 
 
 
xxxxxxxxxx
 
 
 
 
import xxx,xxxx
 
 
3.从模块中导入某个名字到当前名称空间
 
 
 
xxxxxxxxxx
 
 
 
 
from xxx import xxx
 
 

注意 要避免名称冲突 如果冲突了 按照就近查找原则

4.从模块中导入多个名称
 
 
 
xxxxxxxxxx
 
 
 
 
from xxx import xxx,xxx,xx
 
 
5.从模块中导入所有名称
 
 
 
xxxxxxxxxx
 
 
 
 
from xxx import *
 
 

all用于控制 使用者可以使用哪些名称

6.取别名

 
 
 
xxxxxxxxxx
 
 
 
 
from xxx import xx as xx
 
 
from 和 import 除了导入的名称 不同 其他特性一致
py文件的两种执行方式 !!!!!

1.作为执行文件 (右键run) ​ 2.作为模块被导入

name 这个名称 可以获取当前执行状态 ​ 如果是main 说明当前是执行文件 ​ 否则 说明是作为模块 ​ 于是乎有了以下代码

 
 
 
xxxxxxxxxx
 
 
 
 
 if __name__ == "__main__":
            print("作为执行文件")
        else:
            print("作为模块导入了")
 
 
重复导入模块时 模块中的代码不会重复执行 仅在第一次导入时执行

模块的搜索顺序 !!!!!

内存中已经加载的 - > 内置模块 - > sys.path 通常我们子啊编写项目时 会自己将模块的路径加入到sys.path中

转载于:https://www.cnblogs.com/msj513/p/9773700.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值