python模块和python包之间有什么区别?
任何Python文件都是模块,其名称是文件的基本名称/模块的__name__属性,不带.py扩展名。包是Python模块的集合,即,包是包含附加__init__.py文件的Python模块目录。__init__.py将包与恰好包含一堆Python脚本的目录区分开。包可以嵌套到任何深度,只要相应的目录包含它们自己的__init__.py文件。
导入模块或包时,Python创建的相应对象始终是模块类型。这意味着模块和软件包之间的区别仅在于文件系统级别。但是请注意,在导入包时,仅该包的__init__.py文件中的变量/函数/类是直接可见的,子包或模块则不可见。
例如,在datetime模块中,有一个名为date的子模块。导入日期时间时,不会导入它。您需要单独导入。
>>> import datetime>>> date.today()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'date' is not defined
>>> from datetime import date
>>> date.today()
datetime.date(2017, 9, 1)
以上是 python模块和python包之间有什么区别? 的全部内容, 来源链接: utcz.com/z/348852.html