wish of those help This is due to the different package structures between bitarray and numpy; specifically, one contains an object with the same name as the module itself, the other doesn't.

The bitarray module contains a class called bitarray, (similarly, for the example, the datetime module in the standard library contains the datetime class) . Hence the following are equivalent:

code :

```
from bitarray import bitarray
ba = bitarray(...)
```

```
import bitarray
ba = bitarray.bitarray(...)
```

```
from numpy import numpy
```

```
import numpy as np
a = np.array(...)
from bitarray import bitarray as pp
b = pp(...)
import bitarray as pp
b = pp.bitarray(...)
```

```
from numpy import *
from bitarray import *
```

```
a = array(...)
b = bitarray(...)
```

```
from numpy import *
from random import *
a = choice([1, 2, 3]) # which module did choice come from?
b = all(x == y for x in l) # is this numpy's all or the built-in?
```

```
import numpy as np
import random
a = random.choice([1, 2, 3]) # clearly from random
b = all(x == y for x in l) # must be the built-in, not np.all()
```