python属性访问

1、python属性访问魔法方法:

>>> class C:
def __getattribute__(self,name):
  print("getattribute")
  return super().__getattribute__(name)
def __getattr__(self,name):
  print("getattr")
def __setattr__(self,name,value):
  print("setattr")
  super().__setattr__(name,value)
def __delattr__(self,name):
  print("delattr")
  super().__delattr__(name)

2、对于一个矩形类的定义和说明:

class R:
def __init__(self,width=0,height=0):
  self.width=width
  self.height=height
def __setattr__(self,name,value):
  if name=="square":
    self.width=value
    self.height=value
  else:
    super().__setattr__(name,value)
def getarea(self):
  return self.width*self.height

猜你喜欢

转载自www.cnblogs.com/Yanjy-OnlyOne/p/10106312.html