我最近一直在使用web.py来处理Python中的一些简单的Web应用程序。我以为我理解了import语句,包和模块是如何工作的,但现在我有点困惑。
根据web.py的API,它表示类application
位于模块web.application
内。为了使用这个类,本教程提供了诸如
import web
app = web.application(urls, globals())
让我感到困惑的是我如何使用 包裹 - >模块 - >类 有人可以澄清我的困惑吗?这是我引用的{。3}} 提前感谢您的帮助!application
创建web.application
类的实例。如果在网络包中存在一个名为application
的内部的类application
,那么根据我的学习,我希望必须这样做:< / p>
web.application.application(urls, globals())
答案 0 :(得分:2)
application.py
模块的属性已导入__init__.py
包的web
(通过__all__
)。
在__init__.py
包的web
中,您有:
from application import * # referring to application.py
在application.py
:
__all__ = [
"application", "auto_application",
"subdir_application", "subdomain_application",
"loadhook", "unloadhook",
"autodelegate"
]
因此,现在可以直接从顶级导入__all__
访问application.py
中找到的web
中指定的属性。
您可以read more关于packages
,__init__.py
和__all__