Python 如何理解模組迴圈匯入依賴(Python 3)?

時間 2021-07-14 03:04:00

1樓:老王

這裡舉個例子來嘗試解釋一下迴圈import,並不嚴謹也不完全。

foo.py和bar.py分別引用對方,import乙個檔案會執行那個檔案,如果那個檔案尚未被import的話。

有興趣可以用ipdb跟一下,在foo.py第5行時用step命令進入bar.py,其他時候都可以用next。

/tmp

nlfoo.py

1# -*- coding: utf-8 -*-2import

sys3

print

("start foo")4

print

("Is bar imported: %s"

%("bar"

insys

.modules,))

5import

bar6

print

("end foo")/

tmpnl

bar.py1

# -*- coding: utf-8 -*-2import

sys3

print

("start bar")4

print

("Is foo imported: %s"

%("foo"

insys

.modules,))

5import

foo6

print

("end bar")/

tmppython3.5

foo.

pystart

foo<--

第一次執行foo

.py開始

Isbar

imported

:False

<--foo.

py第一次import

bar,

bar不在sys

.modules中

,進入bar.py

start

bar<--

bar.

py開始

Isfoo

imported

:False

<--在bar

.py中import

foo時

,foo不在sys

.modules中

,再次進入foo.py

start

foo<--

第二次執行foo

.py開始

Isbar

imported

:True

<--foo.

py第二次import

bar時

,bar已在sys

.modules中了

,不再進入bar.py

endfoo

<--第二次foo

.py結束

endbar

<--bar.

py結束

endfoo

<--第一次foo

.py結束

,整個程式結束

python如何安裝模組?

本章節我們將向大家介紹如何在本地搭建Python開發環境。Python可應用於多平台包括 Linux 和 Mac OS X。你可以通過終端視窗輸入 python 命令來檢視本地是否已經安裝Python以及Python的安裝版本。1 首先,開始選單執行cmd 2 第二步,切換目錄,使用命令 cd sc...

Python模組如何安裝 並確認模組已經安裝好?

就像樓上說的,你首先需要學習setuptools,pip和virtualenv 有很多模組在windows下是不好安裝的,有的模組有c的擴充套件,需要編譯 也就是說你需要安裝編譯好的安裝包,我給個鏈結http www.lfd.uci.edu gohlke pythonlibs 這裡面有不少在wind...

如何快速掌握乙個python模組?

皮卡丘 初學者就別想快了。我自己是這樣的。先上網看看一些基礎的教程,非常快的過一下,十幾分鐘,主要是了解這個module能幹什麼,特別是一些基本的功能,頭腦中建立起初步對映。然後就是用了,不用看了也白搭。我假設你的專案是需要經常用到這個module的,不然你為啥想掌握它?因為頭腦中有對映,codin...