gpt4 book ai didi

python - 这两个python导入方法完全一样吗?

转载 作者:太空宇宙 更新时间:2023-11-04 08:24:27 24 4
gpt4 key购买 nike

编辑已完成,因为我的问题被确定为可能与另一个询问两种方法之间差异的问题重复。


我是 python 的新手,所以正在阅读关于 importfrom import 的各种意见,以弥补我的知识不足。 编辑: 我理解使用这两种方法的区别。简单来说, import sth.sth_else 方法创建了对 sth.sth_else的引用,这样我们就可以访问里面的任何东西 __init__().py of sth_else using sth.sth_else.func () sth.sth_else.var。但是,如果使用了 from sth import sth_else ,那么我们就不需要使用 sth 和[dot]运算符用于范围解析以及 sth_else。这次我们可以简单地使用 sth_else.func() sth_else.var。我从 stackoverflow 上关于两种导入方法之间差异的问题的投票最多的答案中了解了所有这些。但即使使用这两种不同的方法,我也能够找到一种使用 as 的方法,即我从答案中了解到的差异变得微不足道/不恰当。这意味着我得到了一切,直到这两个导入方法开始提供相同的调用(根据那个答案是不同的),因此我想知道它是否比看起来更重要......


导入方法:

>>> import tkinter.ttk as my
>>> my.Button()
<tkinter.ttk.Button object .!button>
>>>

from import 方法:

>>> from tkinter import ttk as my
>>> my.Button()
<tkinter.ttk.Button object .!button>
>>>

以我目前的知识,我认为这两种导入方式在各个方面都是完全一样的。但我不能 100% 确定它是确定的,所以我的问题是:这两种方法真的完全相同吗?

最佳答案

没有。你不能说它们完全一样。

'import' 中使用的点('.')用于遍历包。使用import xyz.abc导入时,只能导入模块或包,即这里的'abc'需要是模块或包,而使用from xyz import abc,您还可以导入模块“xyz”中存在的任何函数、变量或类,即“abc”不一定是模块,它可以是函数、变量或在该模块中声明的类。

例如,您可以使用 - from math import sqrt 导入 sqrt 函数,但不能使用 import math.sqrt 导入它。

'from import'方法是为了避免python编译额外的代码而浪费时间和资源。因此,它用于轻松导入在另一个 python 文件(模块)中创建的简单函数和子程序,而不是导入整个模块。

关于python - 这两个python导入方法完全一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58776608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com