我有一个在运行时通过构造函数创建的类。有没有一种方法可以防止在构造之后将它的某些属性设置为某些值?你知道吗
例如,在下面的代码中,如果currRating的值设置为大于maxRating或小于minRating,我想引发一个异常。我可以在实例化过程中轻松地做到这一点,但是,我希望在类已经构建好之后再这样做。你知道吗
class Machine(object):
def __init__(self,Name,maxRating,minRating,currRating=1):
self.name=name
self.maxRating = maxRating
self.minRating = minRating
self.currRating = currRating
我通读了之前关于StackOverflow的一些回复,并理解这对于Python老手来说可能是一个敏感的话题。我只是想知道是否有一种非黑客的方法可以在Python中实现这一点,或者这是Python不应该做的事情之一。
我可以这样试一下吗:
您可以更改打印以引发异常。
您可以使用内置函数property来实现这一点
实际上,您为您的currRating创建“setter”方法,以便在通过调用目标电流您可以检查它是否在最小值和最大值之间:
例如:
您仍然可以访问变量目标电流额定值=10个
相关问题 更多 >
编程相关推荐