title: How to call a numpy.random function when numpy is *-imported and random is non-*-imported
body: <p>When doing scientific programming with python, I like to import numpy as</p>
  
  <pre><code>from numpy import *
  </code></pre>
  
  <p>because I'm using library functions all the time.</p>
  
  <p>However, I'd like to be explicit in my code about which numpy submodules certain functions I'm using come from, so I import submodules 'normally', without *, e.g:</p>
  
  <pre><code>from numpy import *
  import random
  </code></pre>
  
  <p>How should I then call random's functions?
  E.g. with rand(), I can't seem to figure out how when in interpreter mode:</p>
  
  <pre><code>Python 2.7.6 (default, Jan 12 2014, 08:16:39) 
  [GCC 4.8.2] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  &gt;&gt;&gt; from numpy import *
  &gt;&gt;&gt; import random
  &gt;&gt;&gt; random.rand(4,3)
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  AttributeError: 'module' object has no attribute 'rand'
  &gt;&gt;&gt; numpy.random.rand(4,3)
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  NameError: name 'numpy' is not defined
  </code></pre>