模块
1.模块的简介
1.1模块的定义
模块就是一系列的功能的集合,模块中提前写好了很多功能,直接拿来使用。在我们以后遇到不会写的代码时就可以去使用别人的。
1.2为什么要使用模块
可以把别人写好的代码直接搬运过来使用,这样可以大大的提升我们写代码的效率,比如说支付功能等,别人开发好的我们直接下载下来直接使用。
1.3模块的分类
1.内置模块:在python中本来就存在的,在任何位置,任何地点都可以使用。
2.第三方模块:别人写好的自己直接下载下来套用。
3.自定义模块:我们自己写的模块。
1.4模块存在的形式
1.我们自己写的python代码(py.文件),一个文件就是一个模块。
2.包的形式:就是一个系列的python文件的组合。(文件内部有一个__init__)
2.模块的导入之import句式
2.1使用方法
在导入模块中只使用文件名字不使用文件后缀。
2.2导入文件的过程
1.首先会运行执行文件,产生执行文件的全局名称。
2.运行导入文件。
3.产生导入文件的全局名称空间,把导入文件中的名字都丢到全局名称空间中。
4.会执行文件中产生一个名字指向导入的全局名称空间。
#在执行文件中如何使用导入文件中得数据
# 直接使用模块名字点变量名 直接使用
money = 999
print(md.money) # 1000 知名道姓的调用,不会乱
def read1():
print('read1')
md.read1()
money=888
md.change()
print(money)
3.模块的导入之from...import...语句
3.1使用方法
from md import money,read1,read2,change
要在后面加上文件夹中函数的名字,要么使用*全部调用,如果在执行文件中出现了名称冲突的情况。谁距离近就用哪个名称。
3.2导入文件的过程
1.首先会运行执行文件,产生执行文件的全局名称。
2.运行导入文件。
3.产生导入文件的全局名称空间,把导入文件中的名字都丢到全局名称空间中。
4.会执行文件中产生一个名字指向导入的全局名称空间。
money = 999
print(money)
from md import money
print(money)
print(read1)
read2()
change()
def read1():
print('from read1')
read1()
4.导入语句的其它方法
4.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()
4.2连续导入
import md
import time
import os
import sys
import md,time,os,sys
4.3通用导入
from md import *
from md import *
read1()
change()
__all__ = ['money', 'read1', 'change']
5.循环导入
在你编码的过程中循环导入是绝对不能存在的,如果你的代码出现了循环导入问题,就说明了你代码设计的不合理。要立刻改正。
6.判断文件的类型
if __name__ == '__main__': # md
read2()
if __name__ == '__main__':
'''在这个判断里面写的代码,只有是以执行文件运行的时候,才会被执行,当被当成导入文件的时候,不会被运行'''