__slots__為什么沒有報錯,依然賦值了沒有的age
class Person:
? ? __slots__ = ('name','gender')
? ? def __init__(self,name,gender):
? ? ? ? self.name = name
? ? ? ? self.gender = gender
class Student(Person):
? ? __slots__ = ('name', 'gender','score')
? ? def __init__(self, name, gender,score):
? ? ? ? super().__init__(name, gender)
? ? ? ? self.score = score
Student.age = 12
s = Student('qrh','男',88)
print(s.name,s.gender,s.score,s.age) #》》qrh 男 88 12
2023-01-13
__slots__ 只能限制為實例對象動態添加屬性和方法,而無法限制動態地為類添加屬性和方法。因為你是直接往類里面添加屬性和方法,所以實例s能訪問到age這個Student類的屬性
2022-04-26
我已經暈掉了,為什么還是執行成功了呢,age的值,也打印出來了:12