python继承父类的属性和方法_Python基础-类的继承/属性方法(8)

什么是类的继承?

类的继承就是让子类拥有父类的属性和方法。

类继承格式:

class 子类名(父类1,父类2)

几个注意:py支持多继承

子类继承的父类只能初始化一次,如果父类1和父类2有共同的父类或者祖先类,则类初始化的时候会失败。

当父类具有相同方法时,会调用最先继承的父类中的方法,如果要指定父类,则需要重写此方法,并通过父类名.方法名来调用指定父类方法。

class Parent:

def eat(self):

print('父吃')

class Child(Parent):

def say(self):

print('孩说')

class Child1(Child):

def say(self):

print('重写方法')

#继承的基类只能出现一次,因为Child1继承了Child,所以Child类

#等于出现了两次,所以在类进行初始化时会发生错误,

#class Child2(Child,Child1):

# def fun(self):

# print()

class Parent2():

def eat(self):

print('父类2')

#当继承的两个类有相同的方法时,会优先加载先继承的类的方法

#如果要指定采用哪个父类的方法,则需要重写,并且将父类函数

#需要的参数传进去

class Child3(Parent,Parent2):

def eat(self):

Parent2.eat(self)

def fun(self):

print('无')

child=Child()

#子类调用父类方法

child.eat()

#子类自定义方法

child.say()

child1=Child1()

#子类重写父类方法

child1.say()

#子类调用祖父类方法

child1.eat()

child3=Child3()

child3.eat()

拓展:isinstance():判断某个实例是否属于某个类

此函数需要输入两个参数,第一个为实例,第二个为类。返回类型为布尔值

#用该实例与该类的父类进行比较,返回的也是true

print(isinstance(child3,Parent))dir(实例/类) : 返回一个对象/类的所有属性和方法

print(dir(child3))

print(dir(Child3))hasattr(类/实例,’属性’):是否存在此属性值

getattr(类/实例,’属性’):得到此属性值

setattr(类/实例,’属性’,更改值)

class Parent:

a=123

b='sgd'

def eat(self):

print('父吃')

parent=Parent()

#True 是否存在该属性之

print(hasattr(parent,'a'))

#123 得到该实例的a的属性值

print(getattr(parent,'a'))

#设置该对象的属性值

setattr(parent,'b',123)

#123

print(getattr(parent,'b'))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值