Python类super继承的使用方法

class SB:
    def __init__(self,**kwargs):  #通过传递任意数量的关键字参数来实例化这个类的对象。这些关键字参数将在对象创建时被收集到一个字典中,并可以通过kwargs在__init__方法内部访问。
        for key,value in kwargs.items():
            setattr(self, key, value)  #setattr()是一个内置函数,用于设置对象的属性值。它接受三个参数:对象、属性名(作为字符串)和属性值
                                       #通过以上方式完成任意对象的实例化
    def SB_Attack(self,**kwargs): #通过kwargs传递任意个参数,并可以在函数中访问
        GJZ=self.GJV-2
        SMZ=self.SMV-2
        print(f"SMV is {GJZ} GJZ is {SMZ}")

class JG(SB):
    def __init__(self, **kwargs):
        for key,value in kwargs.items():
            setattr(self, key, value)
        super().__init__(**kwargs)#通过super继承父类的init里的属性
    def JG_Attack(self,**kwargs):
        super().SB_Attack()#通过super继承父类的方法


SB=SB(GJV=10,SMV=8)
JG=JG(GJV=16,SMV=14)
# SB.SB_Attack()
JG.JG_Attack()

运行结果:

C:\Users\uic75642\TryClass\Scripts\python.exe C:/Users/uic75642/Desktop/TryClass/Class.py
SMV is 14 GJZ is 12

Process finished with exit code 0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值