模块的简介**
模块导入的方式
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__':
'''在这个判断里面写的代码,只有是以执行文件运行的时候,才会被执行,当被当成导入文件的时候,不会被运行'''
标签:__,文件,md,Python,19days,导入,模块,import From: https://www.cnblogs.com/wzh366/p/17705135.html