Python——模块的认识及用法

模块的简介**

模块导入的方式
                         import句式,from……import…句式
模块的其他用法补充
循环导入(现象)
判断文件类型

———————————————————————————————————                                                  什么是模块?

1. 什么是模块?
模块就是一些列功能的集合,模块中就是提前写好了很多的功能,直接拿来使用

2. 为什么要用模块?

1、提高代码复用性

  模块可以将功能分解为独立的单元,这些单元可以在多个程序中重复使用,提高代码复用性。在编写程序时,可以通过导入其它模块中的函数和变量,来实现代码的重复利用。

  2、代码组织结构清晰

  将代码分解为模块有助于代码的组织和管理,使代码更易于理解和维护。模块可以将功能相近的函数和变量组织到一起,便于程序员快速查找和使用。

  3、降低程序耦合性

  模块将代码分解为独立的单元,模块之间相互独立,降低程序的耦合性。当我们需要修改某个模块的功能时,只需要修改这个模块,不会影响其它模块的功能。

  4、提高程序的安全性

  Python中的模块将代码进行了封装,内部变量和函数不会被其它模块修改或访问,提高了程序的安全性和稳定性。

站在巨人的肩膀上,别人写好的一些功能我们把它下载下来直接用在我们自己的项目中,大大提高开发效率

3. 模块的分类
1. 内置模块(python解释器原来就存在的,在任何位置,任何时间都可以直接使用)
eg:time

2. 第三方的(别人写好的模块,人家放在了网上,去网上下载)
3. 自定义的(我们自己写的模块)

4. 模块存在的形式
一共有4钟形式,只需要掌握2钟
1. 我们自己写的python代码(.py文件)
 一个py文件就是一个模块

2. 包的形式:就是一系列py文件的组合(文件夹)
文件夹内部有一个__init__.py文件

——————————————————————————

                                模块的导入方式——import,from……import……
import md # 导入模块的时候,只写模块名字,不要写后缀名字

导入文件的时候发生了什么事儿?
1. 首先会运行执行文件,产生执行文件的全局名称空间
2. 运行导入文件
3. 会产生导入文件的全局名称空间,把导入文件中的名字都丢到全局名称空间中
4. 会在执行文件中产生一个名字md指向导入文件的名称空间

 

 ————————————————————————————————————

 

from...import...句式
导入模块也会执行导入文件,多次导入也只会执行一次,跟import句式一样

导入文件的时候发生了什么事儿?
1. 首先会运行执行文件,产生执行文件的全局名称空间
2. 运行导入文件md
3. 会产生导入文件的全局名称空间,把导入文件中的名字都丢到全局名称空间中
4. 会在执行文件中产生一个名字money指向导入文件的名称空间中得money

如果使用from...import...句式的情况,在执行文件中会出现名字冲突的情况(在执行文件中出现了和导入的名字一样的时候)
出现冲突的时候离谁近用谁的

 

 —————————————————————————————————————————————导入语句的其他用法

1. 起别名

from md import money as m
from md import read1 as r1
from md import read2 as r2
import md

def read1():
print('from read1')
read1()
r1()

md.read1()

2. 连续导入
import md
import time
import os
import sys

import md,time,os,sys
3. 通用导入
from md import *
from md import *
read1()
change()

__all__ = ['money', 'read1', 'change']

——————————————————————————————————                                                       循环导入
编码过程中,循环导入是不允许出现的。
——————————————————————————————————

                               判断文件类型(执行文件or导入文件)

 

if __name__ == '__main__': # md
read2()

 

if __name__ == '__main__':
'''在这个判断里面写的代码,只有是以执行文件运行的时候,才会被执行,当被当成导入文件的时候,不会被运行'''







 

posted @   拆尼斯、帕丁顿  阅读(80)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示