zoukankan      html  css  js  c++  java
  • python中模块和包

    一,问题

    我们想把代码按照一定的层次结构组织成包

    二,解决方案:

    创建一个软件包结构是很简单的。只要把代码按照所希望的方式在文件系统上进行组织,并确保每个目录中都定义了一个_init_py文件即可。例如:

    graphics/
         _init_.py
        primitive/
            _init_.py
            line.py
            fill.py
            text.py
         formats/
            _init_.py
            png.py
            jpg.py
    

      一旦完成,就可以执行各种各样的import语句了,比如:

      import graphics.primitive.line
    
      from graphics.primitive import line
    
      import graphics.formats.jpg as jpg
    

    三,讨论:


    定义一个具有层次结构的模块就如同在文件系统上创建目录一样简单。_init_.py文件的目的就是包含可选的初始化代码,当遇到软件包中不同层次的模块时会触发运行。比如,如果写下import graphics语句时,文件graphics/_init_.py会被导入并graphics命名空间中的内容。对于import graphics.formats.jpg这样的导入语句,文件graphics/_init_.py和graphics/formats/_init_py都会在最终导入文件graphics/formats/jpg.py之前优先得到导入。

    全世界的程序员们联合起来吧!
  • 相关阅读:
    Linq to OBJECT延时标准查询操作符
    LINQ to XML
    动态Linq(结合反射)
    HDU 1242 dFS 找目标最短路
    HDu1241 DFS搜索
    hdu 1224 最长路
    BOJ 2773 第K个与m互质的数
    ZOJ 2562 反素数
    2016 ccpc 杭州赛区的总结
    bfs UESTC 381 Knight and Rook
  • 原文地址:https://www.cnblogs.com/chaojiyingxiong/p/14784269.html
Copyright © 2011-2022 走看看