2013-09-14 4 views
1

Оригинальное название: 'Numpy array:' тип данных непонятен ''. Оказывается, проблема заключалась в том, что я не понимал Python как интерпретируемый язык.Python импорт и перезагрузка недоразумение

У меня есть этот очень простой модуль 'rtm.py':

import numpy as np 
def f(): 
    A=np.array([[1.0,0.5],[0.0,1.0]]) 

Но когда я запускаю его в IPython:

import rtm 
rtm.f() 

Я получаю эту ошибку:

 1 import numpy as np 
     2 def f(): 
----> 3   np.array([[1.0,0.5],[0.0,1.0]]) 

TypeError: data type not understood 

Какую часть документации я не понял?

Заранее благодарен!

+0

Я не могу воспроизвести это , Что произойдет, если вы запустите A = np.array ([[1.0.0.5], [0.0,1.0]]) в IPython? – zero323

+0

Нет проблем. Конечно, при импорте numpy как np. У меня такое чувство, что это глупо, как сохранение файла в неприемлемом месте. – pktl2k

+0

Вы пытались указать тип данных? np.array ([[1.0.0.5], [0.0.1.0]], dtype = 'float') – zero323

ответ

1

Если вы хотите сделаны внешние изменения в модулях видимую внутри сеанса интерпретатора вы должны использовать перезагрузить вместо импорта:

Python 2

import rtm 
# some change in rtm.foo has been made 
import rtm 
rtm.foo() # Old version of rtm.foo is called 

reload(rtm) # You have to reload module ([docs][1]) 
rtm.foo() # Now you can call new version of rtm.foo 

Python 3

... 
from imp import reload 
reload(rtm) 
+0

Спасибо! Теперь я понимаю. Я изменил название, чтобы избежать путаницы. – pktl2k

Смежные вопросы