我对Python import
的类如何感到困惑。查看Django的源代码,我可以看到名为django.views.generic
的模块,其中包含.py
个文件,例如:base.py
,list.py
或edit.py
。
现在,如果我想import ListView
class
(在list.py
中定义),我可以这样做:
from django.views.generic.list import ListView
但以下内容也适用:
from django.views.generic import ListView
问题:这两者有什么区别吗?
Python是否将文件视为名为文件的不同模块?
答案 0 :(得分:0)
如果查看__init__.py
文件,您会看到它为您导入了类。所以当你这样做时
from django.views.generic import ListView
您实际上是从__init__.py
文件导入该类,而不是从django.views.generic.list
另外,请查看Can someone explain __all__ in Python?
所以几乎没有什么区别,在这两种方式中你最终会得到相同的对象。