aléatoire.de la graine(): pour Quoi faire?

Je suis un peu confus sur ce qu' random.seed() n'en Python. Par exemple, pourquoi la ci-dessous essais de faire ce qu'ils font (systématiquement)?

>>> import random
>>> random.seed(9001)
>>> random.randint(1, 10)
1
>>> random.randint(1, 10)
3
>>> random.randint(1, 10)
6
>>> random.randint(1, 10)
6
>>> random.randint(1, 10)
7

Je n'arrivais pas à trouver de la bonne documentation sur ce sujet.

  • La génération de nombre aléatoire n'est pas vraiment "aléatoire". Il est déterministe, et la séquence qu'il génère est dicté par la valeur de départ vous passer dans random.seed. Généralement, il suffit d'invoquer random.seed(), et il utilise l'heure actuelle, comme la semence de la valeur, ce qui signifie que chaque fois que vous exécutez le script, vous allez obtenir une autre séquence de valeurs.
  • En passant de la même graine aléatoire, et en appelant ensuite il va vous donner le même ensemble de nombres. Cela fonctionne comme prévu, et si vous voulez que les résultats soient différents à chaque fois, vous aurez à la graine avec quelque chose de différent à chaque fois que vous démarrez une application (par exemple sortie de /dev/random ou de temps)
  • La graine est ce qui alimente le générateur de nombres aléatoires pour générer le premier nombre aléatoire. Après cela, ils RNG est auto-alimenté. Vous ne voyez pas la même réponse cohérente à cause de cela. Si vous exécutez ce script, vous obtiendrez la même séquence de "aléatoire" des nombres. Réglage de la graine est utile si vous souhaitez reproduire des résultats, car tous les "aléatoire" nombre généré sera toujours le même.
  • La peine de mentionner: l'ordre indiqué dans ce post est en Python 2. Python 3 donne un ordre différent.