模块与包

模块与包

  • 模块: 一个.py文件就是一个模块

  • 包: 一个有__init__.py文件的文件夹

pkg1
├── __init__.py
├── module.py
└── subpkg1
    ├── __init__.py
    └── module.py

Import

常用的import语句如下:

import module
import module.attribute    # attribute can be: function, class, variable
import package.module
import package.subpackage.module
import package
import package.subpackage    


from module import attribute    # equal to: import module.attribute
from package import module    # equal to: import package.module
from package.subpackage import module    # equal to: import package.subpackage.attribute
from package import subpackage

import package

当我们在模块中的直接引入一个包时,实际上是引入这个包的__init__.py模块,比如在package__init__.py中定义了一个函数fn(),那么在模块中就可以这样使用

import package

package.fn()

__init__.py

当我们import package时,该包的__init__.py模块中的代码会被执行一次,所以要小心编写该模块,最好把里面的代码定义成一个函数。

__init__()

(to be continued)

Reference

Last updated

Was this helpful?