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'
如果最後兩個輸出不是同一個名稱,考慮到它們具有相同的種子?
相比之下,內置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實例共享一個RNG。不知道這是否是故意的。它看起來錯了。 – user2357112
@ user2357112這看起來像是對我的回答。 – glibdud
@ user2357112糟糕,沒有看到您的評論。 –