包
1.包是一种管理python模块命名空间的形式,采用“点语法”,避免文件或者文件夹的命名冲突的情况
可以创建一个目录,在目录下面创建一个名称为 __init__.py的文件(前后给两个下划线)
 
 
也可以直接点击Python Package直接创建包,自动会生成初始化文件
这样dir01就叫做包了,而不是一个普通的文件夹包和普通文件夹的一个区别:
2. 包下必须存在一个文件,名称为 :__init__.py , 目前该文件为空,表示当前文件夹并不是一个普通的文件夹,而是一个包,当后期在flask和Django中会在该文件中写一些项目的配置信息
3. 再创建两个包,并且创建两个相同名称的py文件,在dir01中新建moudleDemo.py

在aaa包和bbb包中,新键moudle01.py 代码如下

# 需求: 在moudleDemo中访问aaa和bbb中的str1和func
然后,进行跨包的进行访问
# @File : moudleDemo.py
"""
跨文件访问变量或者调用函数,则需要指明函数或者变量的来源,
使用关键字import,格式 import 模块名
自定义一个py文件,其实就是一个模块,只不过该模块是自定义的
"""
import aaa.moudle01
import bbb.moudle01
"""
1.书写模块的名称需要注意模块的路径【相对路径,默认的参照路径是当前工程的路径】
2.模块的书写格式:包1...包n.文件名
3.import的作用:表示将指定路径下的指定模块中的内容从头到尾加载一遍
"""
# 访问模块中的变量和调用函数
print(aaa.moudle01.str1)
aaa.moudle01.func()
print(bbb.moudle01.str1)
bbb.moudle01.func()
"""
打印结果:
aaa~~~start
aaa~~~middle
aaa~~~end
aaa
hello~~~aaa
bbb
hello~~~bbb
"""
模块的出现可以避免变量,函数,类的命名冲突的问题
|