一、继承:
继承的目的就是节省代码。当两个类有共同的东西时,需要继承
class Syy(): country='China' def __init__(self): self.money=5000 def chaogu(self): self.money+=50000 print('炒股%s'%self.money) class Xs(Syy ) #继承:子类(父类),父类中的方法,子类中都有。继承可继承多个父类 def chaogu(self): print('炒股,唱歌',self.money) #money 是继承的money:5000 self.money=500 #会覆盖父类的方法。方法重写 print("重写后的money%s"%self.money)#money是重写后的money:500 #super().XXX找到父类的XXX方法,并实例化一下(即调用)。可用作在父类基础上做修改。原父类的参数仍要传参: super().chaogu() sdb=Xs() sdb.chaogu()
二、例子:
class BaseDB: def __init__(self,ip,port,password,db): self.ip=ip self.port=port self.password=password self.db=db class MySQL: def __init__(self,ip,user,port,password,db): #定义本参数要传的值 super().__init__(ip,port,password,db) #继承基类,并传入基类所需参数 self.user=user #当需要父类的功能,并需要补充时,使用super()来继承父类 class Redis(BaseDB): def conn(self): self.r=redis.Redis(host=self.ip,db=self.db,password=self.password) #当需要的值与基类的值完全一致,不需要补充时,可以不用super()