Python基础-day11-继承和动态设置属性
继承:
- Object:python中所有类的基类
- 通过继承获得父类的属性和方法,提高代码复用率
class PhoneV1(): def call_fuc(self): print("打电话功能") def message_fuc(self): print("发短信功能") class PhoneV2(PhoneV1): def pay(self): print("支付功能") class PhoneV3(PhoneV2): def sing(self): print("播放音乐功能") oppo = PhoneV3(); oppo.message_fuc() oppo.sing()
被重写的方法,再调用父类的同名方法:
- 父类名.方法名(self)
- Super().方法名()
class PhoneV1(): def call_fuc(self): print("打电话功能") def message_fuc(self): print("发短信功能") class PhoneV2(PhoneV1): def pay(self): print("支付功能") class PhoneV3(PhoneV2): def sing(self): print("播放音乐功能") def call_fuc(self): print("打视频电话后,再调用普通电话功能") super().call_fuc()
动态属性设置:
# getattr 动态获取属性
# 第一个参数:类名称
# 第二个参数:属性值
# 第三个参数:如果属性不存在,则返回该值
class TestData(): url="http://baidu.com" method="post" print(TestData.method) name=getattr(TestData,"url","None") print(name)
# setattr:动态设置属性
# 动态设置属性:setattr title=["name","age","gender"] data=["jack","28","男"] for i in range(len(title)): setattr(TestData,title[i],data[i]) print(TestData.name) print(TestData.age) print(TestData.gender)