What is the right way to import a package?

fl rxjwg98 at gmail.com
Sat Nov 14 15:00:22 EST 2015


Hi,

I want to use a code snippet found on-line. It has such content:

from numpy import *
dt = 0.1
# Initialization of state matrices
X = array([[0.0], [0.0], [0.1], [0.1]])

# Measurement matrices
Y = array([[X[0,0] + abs(randn(1)[0])], [X[1,0] + abs(randn(1)[0])]])



When the above content is inside a .py document and running, there will be
 an error:

---> 15 Y = array([[X[0,0] + abs(randn(1)[0])], [X[1,0] + abs(randn(1)[0])]])
     16 #Y = ([[X[0,0]], [X[1,0] + 0]])

NameError: name 'randn' is not defined 


But when I run the above line by line at the console (Canopy), there will be
no error for the above line.

My question is: 

The import and the following are wrong. 

X = array([[0.0], [0.0], [0.1], [0.1]])

It should be:

import numpy as np
...
Y = np.array([[X[0,0] + abs(np.randn(1)[0])], [X[1,0] + abs(np.randn(1)[0])]])

This looks like the code I once saw. But the file when running has such
 error:

---> 15 Y = np.array([[X[0,0] + abs(np.randn(1)[0])], [X[1,0] + abs(np.randn(1)[0])]])

AttributeError: 'module' object has no attribute 'randn'

When it is run line by line at the console, it has the same error.

It is strange that the same content has errors depends on inside a file, or
at CLI console.

What is missing I don't realize? Thanks,





More information about the Python-list mailing list