python模块与包与类的关系区别_python模块和python包之间有什么区别?

Python中的模块是包含代码的.py文件,而包是包含__init__.py的目录结构,用于组织模块。导入模块时,仅包的__init__.py内容可见,如需访问子模块需额外导入。例如,要使用datetime模块的date子模块,必须单独导入。
摘要由CSDN通过智能技术生成

任何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 "", line 1, in 

NameError: name 'date' is not defined

>>> from datetime import date

>>> date.today()

datetime.date(2017, 9, 1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值