我刚开始学习Python,对于import和from import我觉得应该是有区别的,但是在网上搜了一圈,还是没有解答我的疑惑。
ps:我是使用的python3.5版本。
例如datetime:
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span> <span class="k">print</span><span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
<code class="language-text">from os.path import join
print(join('C:\\windows', 'system32'))
</code>
两个import语义有差异<code class="language-python"><span class="kn">import</span> <span class="nn">datetime</span>
<span class="k">print</span><span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
</code>
你虽然import datetime,但是now是datetime模块下datetime类的now方法,所以你要写成datetime.datetime.now啊……<code class="language-text">from module import Something
</code>
这个纯粹是datetime这个库的命名设计问题,太傻叉了
你查一下name space的逻辑就明白了
一般情况下尽量使用import a,此时访问B时,可以通过a.B的形式。