Назначение случайного значения параметру в программе Python

Мне нужно назначить случайное значение по умолчанию в __init __ () . Например:

import math
import random
class Test:
    def __init__(self, r = random.randrange(0, math.pow(2,128)-1)):
        self.r = r
        print self.r

Если я создам 10 экземпляров Test, все они получат одно и то же случайное значение. Я не понимаю, почему это происходит. Я знаю, что могу присвоить случайное значение внутри __ init __ () , но мне любопытно, почему это происходит. Мое первое предположение заключалось в том, что семя - это текущее время, а объекты создаются слишком близко друг к другу и, в результате, получают одинаковое случайное значение. Я создал объекты с интервалом в 1 секунду, но результат тот же.

5
задан martineau 24 June 2011 в 11:22
поделиться