添加了slots之后 不能使用封装的概念了,不知道怎么回事,有没有大佬解答
Topic source因为__slots__限制了属性类型,你定义的私有变量__name,__age,__gender并不在__slots__范围之内,不允许创建,将__slots__设定的属性集合改成你的私有变量名就可以了。
class Student(object): __slots__ = ('__name', '__age', '__gender') def __init__(self, name, age, gender): self.__name = name self.__age = age self.__gender = genders = Student('john', 16, 'male')
- 1
云彩中的星光
class Student(object):
__slots__ = ('name', 'age', 'gender')
def __init__(self, name, age, gender):
self.__name = name
self.__age = age
self.__gender = gender
s = Student('john', 16, 'male')