有一个我想添加classMethods的代码,但不知道如何使其正常工作。该代码按原样运行良好,但需要按照注释所述的classMethods
所述# class definition for an n-sided die
# import packages
import random
class MSdie(object):
#constructor here
def __init__( self ):
self.sides = 6
self.roll()
#define classmethod 'roll' to roll the MSdie
def roll( self ):
self.value = 1 + random.randrange(self.sides)
return self.value
#define classmethod 'getValue' to return the current value of the MSdie
def getValue( self ):
return self.value
#define classmethod 'setValue' to set the die to a particular value
#def setValue(self):
def roller():
r1 = MSdie()
for n in range (4):
print(r1.roll())
roller()
我同意不应使这些方法进行classMethods的评论。
但是,如果必须,则不能在那里使用self
。自我指的是一个对象,但没有在对象上召唤classMethods,它们被要求进行类。因此,您不能再将value
存储在对象中,因为您没有。