疑问求解
题目:写一个矩形类,默认高和宽两个属性,如果为square的属性赋值,说明这是正方形,值是正方形的边长,此时高和宽为边长代码:
class Rectangle:
def __init__(self,width=0,height=0):
self.width=width
self.height=height
def __setatter__(self ,name,value):
if name=="square":
self.width=value
self.height=value
else:
super().__setattr__(name,value)这句是什么意思,还有value代表什么东西
def getArea(self):
return self.width * self.height
这个 __setatter__ 好像有写错吗? """
题目:
写一个矩形类,默认高和宽两个属性,如果为square的属性赋值,说明这是正方形,值是正方形的边长,此时高和宽为边长
"""
class Retangle:
def __init__(self, width = 0, height = 0):
self.width = width
self.height = height
def __setattr__(self, key, value):
# 这里的 key 表示属性,比如 width、height
# 这里的 value 表示属性的值,比如 3、7、2
if key == "square":
self.width = self.height = value
else:
super().__setattr__(key, value)
# 正方
A = Retangle() # 初始高和宽为 0
A.square = 3 # 高和宽变成 3
print(A.height, A.width)
# 长方
B = Retangle(2, 7) # 初始高为 7、宽为 2
print(B.height, B.width)3 3
7 2
页:
[1]