【发布时间】:2017-05-16 12:30:03
【问题描述】:
假设我有一个名为Person 的课程,其中只有人的姓名和性别。
性别应从男性和女性中随机选择。为此,我导入了 random.randint() 函数。随机性别是根据随机int确定的。
import random
class Person:
alias = random.randint(1, 3)
if alias == 2:
gender = 'Male'
else:
gender = 'Female'
def __init__(self, name):
self.name = name
r = Person('rachel')
s = Person('Stanky')
print(r.gender)
print(s.gender)
但是,我从这个班级的不同人得到的结果都是相同的性别。我的理解是randint 一旦生成就固定了。我的问题是如何使每个类实例都不同。
【问题讨论】:
-
类顶层的代码只运行一次(在导入时)。如果您想为每个实例做出选择,请将代码放在
__init__方法中。