【发布时间】:2018-07-08 06:14:38
【问题描述】:
Python 中的种子是否有最大字符数(以及值)?
import random
random.seed(13) # fine
random.seed(1234567890) # also fine
random.seed(31415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989)
# also fine
我不知道为什么有人会选择这么高的价值,但我只想知道是否有限制。
【问题讨论】:
-
来自文档:“如果 a 不是 None 或 int 或 long,则使用 hash(a) 代替。” docs.python.org/2/library/random.htmlPython对long没有限制,只有可用的地址空间是一个实际的限制。
-
random.seed()非常宽容,它接受任何(?)可散列对象,例如如果你愿意,你可以做random.seed(frozenset()) -
更令人印象深刻的是随机代码实际上使用了所有这些数字。只需更改第一个 或 最后一个数字,然后打印出前 10 个随机数即可。 (剧透:见
random_seed_randommodule.c)
标签: python python-2.7 random seeding