1.類關聯模組的匯入
直接將兩個關聯的模組全部匯入,就可以實現類關聯
使用者發表文章
建立使用者物件
發表文章,文章物件
//
from article.models import tag #如果要用類關聯,就匯入兩個關聯的類
from article.models import article
tag=
tag(
'admin'
) #--
>tag就是通過匯入tag類建立的
i=article
('個人總結'
,'家偉'
)tag.
publish_article
(i)#如果是article包中的模組想用外部的calculate.py ,就涉及內部模組呼叫外部模組,
#因為calculate是在專案底下,而models在article包底下,
#專案地下的模組直接 import calculate 即可 ,
#專案》包中的models from article import models
以下為模組被迴圈匯入
//
""" 模組迴圈匯入
a:模組
def test():
f()b: 模組
def f()
test()
造成這種情況是架構出問題了,你引用我,我又引用你,無限迴圈匯入
這是一種錯誤的方式,
在大型py專案中,需要很多python,由於架構不當,會出現相互引用模組
避免產生迴圈匯入:
1.重新架構
1.from匯入馬上會使用名字,極容易出現錯誤,建議迴圈匯入情況下,使用import匯入
# 2.先提前產生名字,在匯入模組
# 3.在匯入邏輯放在函式中,將匯入的邏輯延後到函式的呼叫,只要呼叫在產生名字後即可
# 4,if __name__=='__main__': 該方法可以阻止乙個無用**被重複呼叫多次
# 5.把匯入的語句放在最後,先讓函式們載入完
"""
迴圈匯入導致的問題:
兩個模組直接相互匯入,且相互使用其命名空間中的名字,但是有些名字沒有產生就使用,就出現了迴圈匯入問題
解決循import m4環匯入問題:延後匯入 - 但產生對方要使用的名字,再去完成匯入對方
1.from匯入馬上會使用名字,極容易出現錯誤,建議迴圈匯入情況下,使用import匯入
2.先提前產生名字,在匯入模組
3.在匯入邏輯放在函式中,將匯入的邏輯延後到函式的呼叫,只要呼叫在產生名字後即可
4,ifname==『main』: 該方法可以阻止乙個無用**被重複呼叫多次
5.把匯入的語句放在最後,先讓函式們載入完
//
#模組的迴圈匯入1.py
import 模組的迴圈匯入2
def task1()
:print
('--------------task1----------------'
)def task2()
:print
('--------------task2----------------'
)模組的迴圈匯入2.
func()
#模組的迴圈匯入2.py
def func()
:print
('迴圈匯入2 裡面的func --1--'
)from 模組的迴圈匯入1
import task1 #重點! 解決模組迴圈匯入的解決辦法 放入函式中導用,函式結束後他自己也結束了
task1()
print
('迴圈匯入2 裡面的func --2--'
)if __name__==
'__main__'
: #還有一種方法是name=main,可以阻止多次無用呼叫,讓介面更整潔
func
()
//
# import 模組的迴圈匯入1 #模組1載入模組2時 先執行的就是import 那麼import會導致重回模組1中,所以不將他放到頭部,放到函式內調
# 這就將導致每次迴圈匯入的第二次時,就會被函式func阻斷,實現了終止迴圈匯入的目的
## 迴圈匯入導致的問題:
# 兩個模組直接相互匯入,且相互使用其命名空間中的名字,但是有些名字沒有產生就使用,就出現了迴圈匯入問題
## 解決循import m4環匯入問題:延後匯入 - 但產生對方要使用的名字,再去完成匯入對方
## 1.from匯入馬上會使用名字,極容易出現錯誤,建議迴圈匯入情況下,使用import匯入
# 2.先提前產生名字,在匯入模組
# 3.在匯入邏輯放在函式中,將匯入的邏輯延後到函式的呼叫,只要呼叫在產生名字後即可
# 4,if __name__=='__main__': 該方法可以阻止乙個無用**被重複呼叫多次
# 5.把匯入的語句放在最後,先讓函式們載入完
python雜談之模組匯入
光看標題你可能有點不知所云。假如你有乙個模組叫做model裡面有乙個py檔案叫做md.py.檔案裡面寫下如下 model md.py print 123 在互動式頁面輸入 import model.md 使用window的cmd視窗時請用cd命令匯入到model的同級頁面,然後開啟python的互動...
python學習之模組匯入
作為c 程式設計師,最近因為工作需要,學習了python。第一次接觸指令碼語言,難免有覺得新奇的地方,python程式沒有main 函式,只有主檔案,檔案裡就一條print 語句也可執行。標準python是cpython。在python命令列 不是系統命令行!下,要匯入.py檔案,必須進入.py檔案...
python模組匯入與模組包匯入
main.py程式第一次匯入指定檔案mod.py時,執行 找到模組檔案mod.py 編譯成位元組碼 可選 執行.pyc位元組碼,建立mod.py中定義的物件。匯入模組後,模組物件會被儲存在sys.modules的表中。每次匯入時,若此表中已存在相關模組,以上3步會被跳過。1.搜尋模組檔案 按順序 程...