title: Is there a scope for (numpy) random seeds?
body: <p>My question is related to <a href="https://stackoverflow.com/questions/12368996/what-is-the-scope-of-a-random-seed-in-python">What is the scope of a random seed in Python?</a> . 
  In the case of above question, it is clarified that there is a (hidden) global <code>Random()</code> instance in the module for <code>random</code>.</p>
  
  <p>1) I would like to clarify whether setting the random seed in one module will cause this to be the random seed in <strong>other</strong> modules and whether there are certain things to be aware of.</p>
  
  <p>For instance:
  Given: moduleA.py, moduleB.py</p>
  
  <p>moduleA.py:</p>
  
  <pre><code>import random 
  import moduleB
  random.seed(my_seed)
  moduleB.randomfct()
  </code></pre>
  
  <p>moduleB.py:</p>
  
  <pre><code>import random 
  def randomfct():
      #do_things_using_random
  </code></pre>
  
  <p>Does moduleB also use <code>my_seed</code>, or do I have to pass the seed to moduleB.py and set it again?</p>
  
  <p>2) Does the order of setting the random seed / importing play any role?</p>
  
  <p>For example in <code>moduleA.py</code>:</p>
  
  <pre><code>import random 
  random.seed(my_seed)
  import moduleB
  </code></pre>
  
  <p>3) Is this also the case for setting numpy random seeds, e.g. <code>np.random.seed(42)</code>?</p>