• python包自我理解


    python包自我理解

    1、python包

    ​ 文件夹下有__init__.py文件,这个文件夹就是一个包,(.py文件为模块)

    ​ 可以通过imort包名(也就是文件夹名称)导入包,当执行import包名时python会加载__init__.py文件

    ​ 可以在__init__.py文件指定导入的模块,那样在导包时就会导入指定模块

    ​ 包可以嵌套,包下面还有包

    __all__指定包里导入模块,如果from XX imoirt *就导入__all__里面全部模块

    注意,使用 from package import item 时,item 可以是包的子模块(或子包),也可以是包中定义的函数、类或变量等其他名称。import 语句首先测试包中是否定义了 item;如果未在包中定义,则假定 item 是模块,并尝试加载。如果找不到 item,则触发 ImportError 异常。

    相反,使用 import item.subitem.subsubitem 句法时,除最后一项外,每个 item 都必须是包;最后一项可以是模块或包,但不能是上一项中定义的类、函数或变量。

    2、测试代码

    #目录
    >abcd
      >a
        __init__.py
        a.py
      >b
        b.py
      __init__.py
      test.py
    testimport.py
    
    # /abcd/a/__init__.py
    from .a import AA
    
    # /abcd/a/a.py
    def AA():
        print('AA')
    
    # /abcd/b/b.py
    def BB():
        print('BB')
    
    # /abcd/__init__.py
    from .test import TestA
    
    __all__ = ['a','b']
    
    # /abcd/test.py
    def TestA():
        print('TestA')
    
    if __name__ == '__main__':
        TestA()
    
    # /testimport.py
    import abcd
    
    abcd.TestA()
    from abcd import *
    a.AA()
    # b.BB()    #这个找不到的
    print(dir(a))
    
  • 相关阅读:
    一周心得5:
    一周心得4:
    历史上两个人合作成功的案例:
    对结对编程的理解:
    一周心得3:
    一周心得2:
    有关IT行业模仿案例及自己的评价与解析:
    一周心得:
    不懂的问题:
    自我介绍以及期望与目标:
  • 原文地址:https://www.cnblogs.com/lazy-sang/p/14857729.html
Copyright © 2020-2023  润新知