每次调用一个类时都需要创建随机数

时间:2013-09-30 19:48:05

标签: python class random

我需要这个问题的帮助:我创建了一个类,其引用是一个随机数。问题是这样的:每次调用那个类,我得到相同的数字,使得随机使用毫无意义;有什么方法可以解决这个问题吗?

import random
class dicethrow:
    result = random.randint (1,6)
a = dicethrow ()
b = dicethrow ()

使用这个,a == b总是,我需要他们不同。 谢谢!

3 个答案:

答案 0 :(得分:2)

在您的情况下,result是一个类(或静态)变量 - 它被定义一次并且对于所有实例都是相同的。

result方法中定义__init__()

import random


class dicethrow:
    def __init__(self):
        self.result = random.randint(1,6)

a = dicethrow()
b = dicethrow()
print a.result
print b.result

另见:

答案 1 :(得分:1)

怎么样

class dicethrow:
    def __init__(self):
        self.result = random.randint(1, 6)

答案 2 :(得分:1)

这是因为结果是一个静态变量,由您所有类的实例共享。

这里需要的是一个功能:

import random
def dicethrow():
    return random.randint (1,6)
a = dicethrow ()
b = dicethrow ()