博客信息

Python基础之包的使用

发布时间:『 2019-06-29 22:44』  博客类别:Python  阅读(691)

1.包是什么?

    包:(文件夹)

    package

    python3中可以不使用__init__.py模块

        __init__.py 初始化

 

    python2中一定要有

 

2.如何创建一个包

    new->package

    直接创建一个文件夹

 

3.包的作用

    1.方便管理

    2.不同的包中,允许存在同名类

 

4.如何引入指定包中的指定模块

    import package1.Test00

    from package1.Test00 import *

 

    引入某个包中的任何一个模块,该包中的__init__.py会先执行

        init中一般执行导入当前包里的其他模块


package1中__init__.py中的代码

print("package1初始化")
# from .Test00 import *


测试代码

# import package1.Test00
# print(package1.Test00.PI)

# NameError: name 'package1' is not defined
# from package1.Test00 import *

# AttributeError: module 'package1' has no attribute 'Test00'
# import package1
# print(package1.Test00.PI)

# 这种写法是正确的,不报错
# from package2 import Test00
# from package1 import Test00
# print(Test00.PI)

# 在__init__.py添加了from .Test00 import *
#使用以下两种方式:
# 所有内容(函数、变量...)在demo3.py中
# 下面这行代码的意思是:当前demo3.py中导入package1中的所有模块,
# 而在__init__.py中又将当前包下的所有模块中内容给导入到指定模块,所以demo3.py中就有了package1中的所有模块中的所有内容(函数、变量...)
# package1包下的[Test00.py中的内容,Test01.py中的内容]-->package1包下的[Test00.py模块,Test01.py模块]-->demo3.py
# from package1 import *
# print(PI)

# 所有内容(函数、变量...)在demo3.py的package1包中
# 下面这行代码的意思是:当前demo3.py中导入package1这一个包
# 而在__init__.py中又将当前包下的所有模块中内容给导入到指定模块,所以package1包中就有了package1中的所有模块中的所有内容(函数、变量...)
# package1包下的[Test00.py中的内容,Test01.py中的内容]-->package1包下的[Test00.py模块,Test01.py模块]-->demo3.py的包package1
# import package1
# print(package1.PI)


相关的一个目录结构


小李飞_Python


over......


关键字:     Python基础         

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有