初学者关于Python的__slots__的疑问
按照书上说一个类如果包含了__slots__就只能拥有__slots__所制定的那些属性,添加一个不在__slots__指定列表中的属性将引发一个错误。可是我在python2.5环境中
测试下面代码却不能引发一个异常,程序正常结束。
Code:
class Pointwithslots:
__slots__= "x ", "y "
def __init__(self,xvalue = 0.0 ,yvalue = 0.0):
self.x = float(xvalue)
self.y = float(yvalue)
def main():
point = Pointwithslots()
newvalue = float(raw_input( "Enter new x: "))
point.W = newvalue
if __name__ == "__main__ ":
main()
运行结果:
> > >
Enter new x: 3
> > >
[解决办法]
I HATE NEW-STYLE CLASS!!!
[解决办法]
class Pointwithslots(object):