首页 > 代码库 > python基础学习1-类属性访问

python基础学习1-类属性访问

#!/usr/bin/env python# -*- coding:utf-8 -*-#====> __setattr__ 重写 设置类对象属性值时候调用的魔法方法   __getattr__(self,name)取得类属性# __getattribute__(self,name)在取得属性前调用,比__getattr__更先调用 , __delattr__(self,name)删除属性时候调用class Rectangle:    def __init__(self,wid,high):#重写类初始化方法        self.wid=wid        self.high=high    def __setattr__(self, key, value): #重写设置类属性值的方法 ,当设置类任意属性会调用此方法        if key=="square" :#如果给类属性square 赋值 则设置高 宽 为当前square属性设置的值            self.wid=value            self.high=value        else:            super().__setattr__(key,value) #否则调用父类的设置属性值魔法方法方法    def getArea(self):         return  self.high*self.widr1 = Rectangle(4,5)print(r1.getArea())r1.square=10print(r1.high)# 10print(r1.wid)# 10print(r1.getArea())# 100

 

python基础学习1-类属性访问