这两个python的导入方式是不是完全一样?
Are these two python import methods exactly the same?
编辑已完成,因为我的问题被确定为可能与另一个询问两种方法之间差异的问题重复。
我是 python 的新手,所以正在阅读关于 import
和 from import
的各种意见以弥补我的知识匮乏。 编辑: 我理解使用这两种方法的区别。简单来说, import sth.sth_else
方法创建对 sth.sth_else
的引用,所以我们可以访问[=61里面的任何东西=] __init__().py
of sth_else
using sth.sth_else.func()
or sth.sth_else.var
。但是,如果使用 from sth import sth_else
,那么我们不需要使用 sth
和[dot]运算符来进行范围解析连同 sth_else
。这次我们可以简单地使用sth_else.func()
和sth_else.var
。我从 Whosebug 上关于两种导入方法之间差异的问题的投票最多的答案中了解了所有这些。但是即使使用这两种不同的方法,我也能够找到一种方法,使用 as
我从答案中了解到的差异得到了 insignificant/inappropriate。这意味着我得到了一切,直到这两个导入方法开始提供相同的调用(根据那个答案是不同的),因此我想知道它是否比看起来更重要..
import
方法:
>>> 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
时,还可以导入任何函数,变量或 class 存在于模块 'xyz' 中,即 'abc' 不一定是模块,它可以是函数、变量或在此模块中声明的 class .
例如,您可以使用 - from math import sqrt
导入 sqrt 函数,但不能使用 import math.sqrt
导入它。
'from import'方法是为了避免python编译额外的代码而浪费时间和资源。因此,它用于轻松导入在另一个 python 文件(模块)中创建的简单函数和子程序,而不是导入整个模块。
编辑已完成,因为我的问题被确定为可能与另一个询问两种方法之间差异的问题重复。
我是 python 的新手,所以正在阅读关于 import
和 from import
的各种意见以弥补我的知识匮乏。 编辑: 我理解使用这两种方法的区别。简单来说, import sth.sth_else
方法创建对 sth.sth_else
的引用,所以我们可以访问[=61里面的任何东西=] __init__().py
of sth_else
using sth.sth_else.func()
or sth.sth_else.var
。但是,如果使用 from sth import sth_else
,那么我们不需要使用 sth
和[dot]运算符来进行范围解析连同 sth_else
。这次我们可以简单地使用sth_else.func()
和sth_else.var
。我从 Whosebug 上关于两种导入方法之间差异的问题的投票最多的答案中了解了所有这些。但是即使使用这两种不同的方法,我也能够找到一种方法,使用 as
我从答案中了解到的差异得到了 insignificant/inappropriate。这意味着我得到了一切,直到这两个导入方法开始提供相同的调用(根据那个答案是不同的),因此我想知道它是否比看起来更重要..
import
方法:
>>> 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
时,还可以导入任何函数,变量或 class 存在于模块 'xyz' 中,即 'abc' 不一定是模块,它可以是函数、变量或在此模块中声明的 class .
例如,您可以使用 - from math import sqrt
导入 sqrt 函数,但不能使用 import math.sqrt
导入它。
'from import'方法是为了避免python编译额外的代码而浪费时间和资源。因此,它用于轻松导入在另一个 python 文件(模块)中创建的简单函数和子程序,而不是导入整个模块。