fakerモジュールのseed
メソッドが期待通りに機能していないようです。例:Pythonの "faker"モジュールが期待通りに動作しないため、発電機をシードする
In [1]: import faker
In [2]: fake1 = faker.Faker()
In [3]: fake1.seed(0)
In [4]: fake2 = faker.Faker()
In [5]: fake2.seed(0)
In [6]: fake1.name()
Out[6]: u'Norma Fisher'
In [7]: fake2.name()
Out[7]: u'Jorge Sullivan'
最後の2つの出力が同じ名前でなくても、同じシードを持つとしますか?
比較すると、内蔵のrandomモジュールは、このように動作しない:
In [1]: import random
In [2]: rand1 = random.Random()
In [3]: rand1.seed(0)
In [4]: rand2 = random.Random()
In [5]: rand2.seed(0)
In [6]: rand1.random()
Out[6]: 0.8444218515250481
In [7]: rand2.random()
Out[7]: 0.8444218515250481
なぜfaker
は同様に動作しないのですか?
[source](https://github.com/joke2k/faker/blob/03684c9659c423f689918c0054a923771f097c8f/faker/generator.py)は、すべてのFakerインスタンスが1つのRNGを共有していることを示しています。それが熟考されているのかどうかはわかりません。それは間違っています。 – user2357112
@ user2357112それは私の答えのようです。 – glibdud
@ user2357112あなたのコメントはありませんでした。 –