根据以下程序,下列选项中,说法正确的是()
class Vector:
__slots__='x','y'
def __init__(self):
pass
class Vector3d(Vector):
__slots__='x','z'
def __init__(self):
pass
vector = Vector()
vector3d = Vector3d()
根据以下程序,下列选项中,说法正确的是()
class Vector:
__slots__='x','y'
def __init__(self):
__slots__='x','z'
def __init__(self):
pass
vector = Vector()
vector3d = Vector3d()
若子类没有定义__slots__属性,则子类可以继承父类的__slots__属性
Vector类的实例对象vector会自动获得实例属性x和y
Vector3d类的实例对象vector3d最多只能允许属性x和z
Vector3d类的实例对象vector3d最多只能允许属性x、y和z
A. 若子类没有定义__slots__属性,则子类可以继承父类的__slots__属性# 当子类未声明__slots__时,不继承父类的__slots__属性
B.Vector类的实例对象vector会自动获得实例属性x和y# 在定义了__slots__变量后,类实例不能自动获得实例属性,同时也不能随意创建不在定义内的属性,同时也不再有__dict__结构
C.Vector3d类的实例对象vector3d最多只能允许属性x和z# 当子类声明__slots__时,继承父类的__slots__
D. Vector3d类的实例对象vector3d最多只能允许属性x、y和z 参考:https://www.jianshu.com/p/9e17a03d08b1