关于python中dir和import的问题
我对Python的dir函数有一些疑问关于python中dir和import的问题,python,python-3.x,python-import,Python,Python 3.x,Python Import,我对Python的dir函数有一些疑问 >>>import urllib >>>dir(urllib) ['__builtins__', '__cached__', '__doc__', '__file__','__loader__','__name__','__package__', '__path__', '__spec__'] 当我喜欢这个的时候 >>>import urllib.request >>>dir(url
>>>import urllib
>>>dir(urllib)
['__builtins__', '__cached__', '__doc__', '__file__','__loader__','__name__','__package__', '__path__', '__spec__']
当我喜欢这个的时候
>>>import urllib.request
>>>dir(urllib)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__','__package__', '__path__', '__spec__', 'error', 'parse', 'request', 'response']
为什么还有三个属性?
为什么一开始请求属性不在dir(urllib)中
我真的很感激你的帮助
urllib
是一个包,而在urllib.request
中,request
是urllib
包中的一个模块
导入包时,它不会自动导入包内的模块,除非该模块是由该包的\uuuu init\uuuuuuu.py
导入的
但是
urllib
的\uuuuu init\uuuuuuuuuupy
是空的(在我的Python 3.4中它是空的),因此当简单地导入urllib
时,它不会导入模块urllib.request,urllib
包的\uuuu init\uuuuuuuuuuuupy
在我的Python 3.5中也是空的。谢谢。我想知道当我导入urllib.request时urllib发生了什么,从而使dir()返回不同的值?导入时,request模块被添加为urllib
模块对象的属性。以及导入urllib.request
时导入的其他模块。