一、模块和包的定义
(1)模块(Moudle):模块是一个Python文件 ,以.py 结尾,包含了Python对象定义和Python语句。
(2)包(Package):Python中的包就是一个包含一个__init__.py文件的目录(文件夹)。
(3)快速创建一个python包:右击文件–>new–>python package
(4)Python包与文件夹的区别:1.包里面多一个__init__.py文件;2.导入包的时候,包里面的__init__.py文件自动执行
二、模块的作用
(1)模块让你能够有逻辑地组织你的Python代码段
(2)把相关的功能代码写到一个模块里能让你的代码更好用,更易懂。
(3)模块能定义函数,类和变量,模块里也能够包含可执行的代码。
三、模块和包导入
模块和包导入的路径:
和当前文件在同级目录下的可以直接导入
模块导入的方式:
方式一:import 模块名
新建一个pack01_demo1.py
a=100
def func1():
print("这是---func1---")
新建一个pack01_demo2.py
# 方式一:
import pack01_demo1
print(pack01_demo1.a)
pack01_demo1.func1()
运行结果:
100
这是—func1—
方式二:import 模块名 as 别名
import pack01_demo1 as demo1
print(demo1.a)
demo1.func1()
运行结果:
100
这是—func1—
方式三:from 模块名 import 函数名,变量名,类名
from pack01_demo1 import func1,a
func1()
print(a)
运行结果:
这是—func1—
100
pep8规范模块导入推荐使用第一种
包导入的方式:
创建如下:
方式一:from 包名 import 模块名
from pack01 import pack01_test01
print(pack01_test01.a)
运行结果:9999
方式二:from 包名.模块名 import 函数名,变量名,类名
from pack01.pack01_test01 import a
print(a)
运行结果:9999
方式三:from 包名.包名 import 模块名(包里嵌套包)
from pack01.pack02 import pack02_test02
print(pack02_test02.name)
运行结果:逍遥
注意:不可以import 包名,可以import 包名.模块名
推荐使用方式一、方式三
包导入时,会将导入的文件,全部执行一遍
四、init.py的作用(开源封装时使用)
1、是python包的标识
2、在__init__.py文件中导入包内函数后,在其他地方可以直接在包层次调用函数,无需找到包内具体文件