1,动态语言灵活性:创建class的实例后,可以给实例绑定任何属性和方法
s.name='xx'
2,实例绑定方法可以用MethodType
from types import MethodType
s.get_age=MethodType(set_age,s)
3,给class绑定方法,所有实例都获得该方法
Student.set_age = set_age
4,__slots__限制实例的属性
class Student:
__slots__ = ('name','age')
实例只能绑定name,age属性
子类不受限制,但如果子类中也设置了slots,则限制范围是子类+父类的slots
Sign in to make a reply
本人已被河蟹
1,动态语言灵活性:创建class的实例后,可以给实例绑定任何属性和方法
s.name='xx'
2,实例绑定方法可以用MethodType
from types import MethodType
s.get_age=MethodType(set_age,s)
3,给class绑定方法,所有实例都获得该方法
Student.set_age = set_age
4,__slots__限制实例的属性
class Student:
__slots__ = ('name','age')
实例只能绑定name,age属性
子类不受限制,但如果子类中也设置了slots,则限制范围是子类+父类的slots