• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python的from import和import的区别?

python 搞代码 4年前 (2022-01-09) 28次浏览 已收录 0个评论
文章目录[隐藏]

我刚开始学习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>

回复内容:

from import : 从车里把矿泉水拿出来,给我
import : 把车给我

题主可能困惑于,为什么会有人让自己把“车里面的车”拿出来,因为这是俩不同的车啊,里面那个是玩具车我想楼主容易搞错的原因是用了datetime的包。
datetime的包里还有个重名的datetime的子项,在这个子项下才有now的函数。
因为有个重名的子项,所以初学者可能会搞混。
把楼主的疑问换个包来回答楼主应该能清晰点:
下面三个都是正确的写法,调用的是os包里path子项的join函数,作用是将路径相加成一个完整路径:

<code class="language-text">from os.path import joinprint(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啊……

from datetime import datetime是因为从datetime里引入了datetime类,引入的并不是这个模块而是这个类,自然是datetime.now

<code class="language-text">from module import Something</code>

这个纯粹是datetime这个库的命名设计问题,太傻叉了你查一下name space的逻辑就明白了一般情况下尽量使用import a,此时访问B时,可以通过a.B的形式。

有节制的使用from a import B,这样可以直接使用B。

避免使用from a import *,这种方法会污染命名空间,而且不能直观的显示导入哪些对象你有一个工具箱,箱子里有剪刀,有钳子,有螺丝刀等等。
现在你想拧螺丝。
然后你一个操作是:从 工具箱 里拿 螺丝刀,然后用 螺丝刀 拧螺丝 ( from import)。
别一个操作是: 拿了 工具箱 ,没打开呢,直接就去 拧螺丝 ( import )。import xx导入模块对于模块中的函数,每次调用需要“模块.函

本文来源gaodai.ma#com搞##代!^码7网

数”来用。
from xx import fun 直接导入模块中某函数,直接fun()就可用。
告诉你大法:from xx import * 该模块中所有函数可以直接使用。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python的from import和import的区别?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址