我使用Spyder 3.1.2(Python 2.7.13)。作爲啓動的一部分,IPython控制檯設置爲「Automatically load Pylab and NumPy modules」。Spyder無法識別導入的條款
時,我想使用的方法NumPy.zeros(形狀),我只是把它在IPython的控制檯爲零:
In [12]: zeros(5)
Out[12]: array([ 0., 0., 0., 0., 0.])
試圖調用同一個零,從一種功能,當我的問題就來了單獨的python文件。
如果我在一個文件中創建一個功能UseZeros()Test1.py
"""
filename: Test1.py
"""
def UseZeros():
return zeros(4)
,我把它從一個單獨的文件,Test2.py:
"""
filename: Test2.py
"""
import Test1
testArr1 = zeros(5)
testArr2 = Test1.UseZeros()
在此腳本,testArr1 =零(5)工作正常,但是當調用Test1.UseZeros()時,我得到一個錯誤,說明全局名稱'零'沒有定義。
File "C:/Users/Gareth/Test2.py", line 8, in testArr2 = Test1.UseZeros()
File "Test1.py", line 7, in UseZeros return zeros(4)
NameError: global name 'zeros' is not defined
是有人能夠幫助我理解爲什麼調用這個函數時,IPython的控制檯不再識別方法?
我能找到的similar problem的唯一參考在之前的版本中得到修復,與我所遇到的不同。
我需要這個工作的原因是我導入了其他人使用的功能,這些功能被廣泛使用了諸如零,單詞,罪,COS等命令,而且我不想重新定義一切。
感謝
感謝卡洛斯,我很欣賞這些反饋。將工作在我的同事身上,以便我們可以切換到更傳統的工作結構化方式。 – GarethC
非常感謝您的理解,我知道解決這個問題可能需要您一段時間。 –
一點也不,我主要擔心的是我無法工作,應該這樣做。高興地發現它的設計不會那樣工作:) – GarethC