模块与包装?

时间:2017-11-09 02:47:10

标签: python module package

每当我from 'x' import 'y'时,我都想知道哪一个被认为是'模块'什么是'包裹,以及为什么它不相反?

2 个答案:

答案 0 :(得分:10)

x可以是包或模块,y是该模块/包中的内容。

模块是.py文件,包是带有__init__.py文件的文件夹。将包导入为模块时,将导入__init__.py模块的内容。

答案 1 :(得分:3)

Python模块只是一个Python源文件,可以公开类,函数和全局变量。

从其他Python源文件导入时,文件名将被视为命名空间。

Python包只是Python模块的目录。

例如,假设/usr/lib/python/site-packages中的以下目录树:

mypackage/__init__.py <-- this is what tells Python to treat this directory as a package
mypackage/mymodule.py

那么你会这样做:

import mypackage.mymodule

from mypackage.mymodule import myclass