python需要什么原因

这个问题在这里已经有了答案:

  • 什么是__init__.py? 11个答案

  • 文档非常清晰 - 您的项目结构可能如下所示:

    app
     - common
      - init.py
     - resources
     - string
     - src
    

    如果Python的隐式处理的目录作为包,将“串”目录可能出现名称冲突与Python的内置字符串模块(https://docs.python.org/2/library/string.html)。 这意味着在调用import string ,模块不明确。

    __init__.py还增加了一些功能:初始化包时执行代码,因此可用于执行某种软件包安装。


    如果你有一个不是包的名为string的目录,在Python搜索模块和包的位置(比如当前的工作目录)中,当你import string时,Python不应该尝试导入它。 __init__.py要求让Python知道它应该继续下去,而不是将该目录视为一个包。


    这是为了防止具有通用名称的目录(例如字符串)无意中隐藏稍后在模块搜索路径中发生的有效模块。

    假设你有一个你为学校工作的目录,其中一些涉及python。 你有一个数学目录,你称之为数学。 你也有一个你写的python模块,所以顶级目录“school”已经被添加到python路径中,所以你可以在任何地方使用它

    School/    
       math/
          hw1.txt
          integrate.py
       MyPythonModule/
          __init__.py
          someClass.py
          someFunc.py
    

    当您以后使用python并且您正在搜索MyPythonModule时,python将打开School/

    然后它看到math/MyPythonModule/如果你在你的Python程序中使用数学,并没有办法区分模块../lib/site-packages/math/和非模块../School/math/然后python会把你的文件作为包装数学处理../School/math/ ; 不知道为什么会破坏代码。

    链接地址: http://www.djcxy.com/p/54807.html

    上一篇: What is the reason python needs

    下一篇: Why compile Python code?