有人可以向我解釋這個嗎? 當您導入Tkinter.Messagebox
這實際上是什麼意思(點符號)? 我知道你可以導入Tkinter
,但是當你導入Tkinter.Messagebox
這究竟是什麼?這是課堂內的課程嗎?用點符號導入的Python
我是新的Python和點符號有時令我困惑。
有人可以向我解釋這個嗎? 當您導入Tkinter.Messagebox
這實際上是什麼意思(點符號)? 我知道你可以導入Tkinter
,但是當你導入Tkinter.Messagebox
這究竟是什麼?這是課堂內的課程嗎?用點符號導入的Python
我是新的Python和點符號有時令我困惑。
當您在導入中放置該點時,您指的是您要導入的包/文件內的某些內容。 您輸入的內容可以是類,包或文件,每當您輸入一個點時,就會詢問內部實例中的某個內容。
parent/
__init__.py
file.py
one/
__init__.py
anotherfile.py
two/
__init__.py
three/
__init__.py
比如你有這樣的,當你通過import parent.file
你實際上進口可能含有類和變量另一個Python模塊,以便引用該文件中特定的變量或類,你比如做from parent.file import class
。
這可能走得更遠,導入另一個包內包裝或類文件內包等內(如import parent.one.anotherfile
) 欲瞭解更多信息閱讀Python documentation這個問題。
'import parent.file.class'沒有意義:這種導入語句形式只導入模塊和包。 (例如,嘗試'import decimal.Decimal',它不起作用。) –
@MarkDickinson我編輯它,現在工作嗎?因爲他是初學者,所以我嘗試不包括'from .. import ..'。 – GeekyMo
@GeekyMo我明白你告訴我什麼,但是當我導入Tkinter時,我也得到了一些函數來使用。在你的例子中,如果我導入父類,我什麼也得不到。 我的意思是父母只是一個文件夾嗎?它沒有任何內容。 那麼Tkinter是一個包還是一個模塊? –
import a.b
進口b
進入命名空間a
,您可以通過a.b
來訪問它。請注意,這僅適用於b
是模塊。 (例如Python 3中的import urllib.request
)
from a import b
然而,將b
導入到當前名稱空間中,可通過b
訪問。這適用於類,函數等
使用時要小心 - 進口:
from math import sqrt
from cmath import sqrt
兩個語句導入功能sqrt
到當前的命名空間,但是,第二個import語句覆蓋的第一個。
這是一個模塊內的類。這意味着只有Messagebox類可用,而導入Tkinter會導入所有的類。我建議在Python IDLE中嘗試一下,並與它一起玩。 – Vinny
如果你閱讀文檔,我希望你能找到一個好的解釋,而不是在這裏SO –
@Vinny:這不是模塊中的類。它是一個包內的模塊。 –