正如評論所說,你的代碼沒有什麼太大的意義。讓我們來看看你的Two.py
文件:
#Two.py
def example1():
print "Other thing!"
example2()
文件containts名爲example1
功能,其打印字符串的定義。執行時,example2()
將永遠不會被調用,因爲example2()
從未在任何地方聲明。如果你在本地聲明它,你需要在Two.py
中添加一個定義它的函數。例如,下面的代碼行添加到您的Two.py
文件:
def example2():
print "Example 2 was called"
現在,當您嘗試調用的函數,編譯器會知道你想要它做的,因爲你宣佈它在本地的東西。另一方面,如果您沒有在同一個文件中聲明該函數,而是在其他地方定義了該函數,則可以從另一個文件導入該函數。由於One.py
的定義爲example2()
,因此您可以在Two.py
中導入該模塊以訪問該模塊。你的最後兩個文件應該是這樣的:
#Two.py
from One.py import example2 #instead of importing it from elsewhere, you can also define it in the actual file
def example1():
print "Other thing!" #notice the indentation that you left out
example1()
example2()
#One.py
def example2():
print "something!"
這將執行沒有錯誤。
要了解什麼地方出了錯您的實現,考慮下面的代碼行:
from Two.py import example2
上述狀態,有一些所謂的Two.py
文件,它包含一個名爲example2
函數的定義。但是,如果仔細查看您的Two.py
文件,則可以看到沒有導入example2
。因此,編譯器會發出警告,告訴你有什麼錯誤。
btw你的導入是錯誤的,爲什麼你重新定義了example2。請澄清。 –
這根本沒有任何意義。你不應該從'Two.py'導入'example1'嗎?並注意,你從兩個import example1'中省略'.py' - '。你究竟想要達到什麼目標? – jonrsharpe