[英]questions about dir and import in python
我对Python的dir函数有一些疑问
>>>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']
为什么它有三个属性? 为什么request属性最初不在dir(urllib)中?
我真的很高兴你的帮助!
urllib
是一个包,而在urllib.request
, request
是urllib
包中的一个模块。
导入包时,它不会自动导入包中的模块,除非该包由__init__.py
导入该模块。
但是urllib
的__init__.py
是空的(在我的Python 3.4中是空的),因此当简单地导入urllib
它不会导入模块urllib.request
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.