zoukankan      html  css  js  c++  java
  • 关于__init__.py

    假设程序目录结构如下:

    ├── checkpoints/
    ├── data/
    │   ├── __init__.py
    │   ├── dataset.py
    │   └── get_data.sh
    ├── models/
    │   ├── __init__.py
    │   ├── AlexNet.py
    │   ├── BasicModule.py
    │   └── ResNet34.py
    └── utils/
    │   ├── __init__.py
    │   └── visualize.py
    ├── config.py
    ├── main.py
    ├── requirements.txt
    ├── README.md
    

    可以看到,几乎每个文件夹下都有__init__.py,一个目录如果包含了__init__.py 文件,那么它就变成了一个包(package)。

    其中__init__.py可以为空,也可以定义包的属性和方法,但其必须存在,其它程序才能从这个目录中导入相应的模块或函数。

    例如在data/文件夹下有__init__.py,则在main.py 中就可以

    from data.dataset import DogCat
    

    而如果在data/init.py中写入

    from .dataset import DogCat
    

    则在main.py中就可以直接写为:

    from data import DogCat
    

    或者

    import data;
    dataset = data.DogCat
    

    相比于from data.dataset import DogCat更加便捷。

  • 相关阅读:
    react-redux-reducer
    react-redux-action
    node-express-2-jade
    node-express-1
    vuex-Module
    vuex-Action(异步)
    vuex-Mutation(同步)
    vuex-getter
    vuex-state
    ##DAY7 UINavigationController
  • 原文地址:https://www.cnblogs.com/Terrypython/p/11527185.html
Copyright © 2011-2022 走看看