我们在上一部分中写了一个简单的Python类以及在另一个文件中实例化的栗子。
但是由于类属性没有任何的封装,而且其他方法可能会引入新的属性,因此代码耦合性较高
我们对类属性进行限定,则类中的属性只包括限定的那几个,别的方法进行添加属性时编译无法通过。
Python中对其进行限定是使用__slots__('Par_A','Par_B')
在不加slots之前,我们可以看到:在run中新加了length这个属性
class Dog(object):
def __init__(self,name,kind,level):#构造函数,定义属性和初始方法
self.name=name
self.kind=kind
self.level=level#赋值
print(f"This is a {self.kind} dog called {self.name} with level {self.level}")
def run(self):#定义类中的方法
self.length=100
print(f"{self.name} is now running!")
def roll_over(self):
print(f"{self.name} is now rolling over!")
def change_level(self):
self.level+=1#修改类中属性的值
print(f"The level of {self.name} is now {self.level}")
我们在另一个类中进行调用查看