一部だけ乱数シードの影響をさせたくない


例えば以下の二つのファイルでtest.pyの2行目でfunc1が呼び出された時点でseedが42に固定されていてbもseed42から生成されたものになります。いまbだけseedを固定させないで発生させたいのです。  
func.py

[code]

    import numpy as np
    def func1():
        np.random.seed(42)
        return np.random.rand()
    
[/code]

test.py

[code]

    import func
    a = func.func1()
    b = np.random.rand()
    
[/code]




[numpy.RandomState()](https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.random.RandomState.html)
を使って、新たに生成器を作成すれば良いのではないでしょうか。

[code]

    b = np.random.RandomState().rand() 
    
[/code]

\-- この回答は、[metropolis](https://ja.stackoverflow.com/users/16894/metropolis)
さんの[コメント](https://ja.stackoverflow.com/questions/50800/%E4%B8%80%E9%83%A8%E3%81%A0%E3%81%91%E4%B9%B1%E6%95%B0%E3%82%B7%E3%83%BC%E3%83%89%E3%81%AE%E5%BD%B1%E9%9F%BF%E3%82%92%E3%81%95%E3%81%9B%E3%81%9F%E3%81%8F%E3%81%AA%E3%81%84#comment53061_50800)をコミュニティ
wiki 回答として投稿したものです。

