我有兩個(gè)Python文件a.py和b.py。
a.py中定義了一個(gè)函數(shù)f()。
a.py應(yīng)該導(dǎo)入b.py中定義的另一個(gè)函數(shù)g()。
函數(shù)g()應(yīng)該調(diào)用a.py中的函數(shù)f()。如何實(shí)現(xiàn)這個(gè)問(wèn)題?
我嘗試過(guò),但是得到了"函數(shù)g()未定義"的錯(cuò)誤。似乎a.py文件無(wú)法看到g()函數(shù)。
解決這個(gè)問(wèn)題的方法如下:
該錯(cuò)誤是由于循環(huán)導(dǎo)入造成的。在大多數(shù)情況下,您不應(yīng)該出現(xiàn)這種情況,但可能有可能的解決方案。
a.py
def f(): print("it's f() in a.py") import b # 在函數(shù)內(nèi)部導(dǎo)入'b',以避免循環(huán)導(dǎo)入。 b.g()f()
#b.py
def g(): print("it's g() in b.py") import a # 在函數(shù)內(nèi)部導(dǎo)入'a',以避免循環(huán)導(dǎo)入。 a.f()g()
如果仍然不起作用,因?yàn)樗赡軙?huì)導(dǎo)致遞歸錯(cuò)誤,那么試試這個(gè),文章來(lái)源:http://www.zghlxwxcb.cn/article/335.html
a.py
def f(): # 基本情況:如果滿足某個(gè)條件,則停止遞歸。 if some_condition: return # 函數(shù)中的其他代碼 b.g()
b.py
def g(): # 基本情況:如果滿足某個(gè)條件,則停止遞歸。 if some_condition: return # 函數(shù)中的其他代碼。 a.f()
文章來(lái)源地址http://www.zghlxwxcb.cn/article/335.html
到此這篇關(guān)于Python如何導(dǎo)入一個(gè)文件,其中有一個(gè)函數(shù)調(diào)用導(dǎo)入函數(shù)中定義的函數(shù)?的文章就介紹到這了,更多相關(guān)內(nèi)容可以在右上角搜索或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!