[python] python模块与包

一个py文件就是一个模块,py文件可以放到目录结构中。
如果目录结构中包含__init__.py,该目录就构成了一个包。

(1)导入模块
Module1.py

a = 1

Folder/Module2.py

b  = 2 

Main.py

import Module1
import Folder.Module2
print(Module1.a)
print(Folder.Module2.b)

(2)导入包
Folder/__init__.py

__all__ = ["Module2"]

Folder/Module2.py

b = 2

Main.py

from Folder import *
print(Module2.b)

注:
(1)import只能导入模块,不能导入变量。
(2)import Package.Module会导致PackagePackage.Module两个名字都被导入。
(3)from A import B, 可以导入模块或者变量。
from Module import variable,会导入一个变量variable = Module.variable,但是Module这个名字没有导入。
from Package import Module,会导入一个变量Module = Package.Module, 但是Package这个名字没有导入。
(4)from Package import *
Package导入的Module是受Pacakge__init__.py中__all__变量控制的。

你可能感兴趣的:([python] python模块与包)