"""只要在一个继承链上即可(有血缘关系即可),应用范围在类的身上"""
res = issubclass(Children,Man)
res = issubclass(Children,Woman)
res = issubclass(Children,Human)
res = issubclass(Children,BigMan)
res = issubclass(Children , (Man,Woman,Human,BigMan))
print(res)
isinstance 判断类型
"""只要在一个继承链上即可(有血缘关系即可),是在判断对象和类之间的关系"""
res = isinstance(obj,Children)
res = isinstance(obj,Man)
res = isinstance(obj,Woman)
res = isinstance(obj,BigMan) # False
print(res)
print(Children.__dict__)
in 判断在或者不在 , 在=> True 不在=>False
res = "feelT" in Children.__dict__
print(res)
### 多态 : 不同的子类对象,调用相同的父类方法,产生了不同的执行结果
关键字:继承 改写
class Soldier():
# 攻击
def attack():
pass
# 撤退
def back():
pass
陆军
class Army(Soldier):
def attack(self):
print("[陆军]上来拼刺刀,你捅我我捅你,一刀999")
def back(self):
print("[陆军]撒腿就跑")
海军
class Navy(Soldier):
def attack(self):
print("[海军]拿起鱼叉,进行投射,插死一个算一个")
def back(self):
print("[海军]直接跳海,下海喂鱼")
空军
class AirForce(Soldier):
def attack(self):
print("[空军]拿起二营长的意大利炮对敌方开展猛烈地攻击")
def back(self):
print("[空军]弃机跳伞,落地成盒")
实例化陆军,产生陆军士兵
obj_army = Army()
实例化海军,产生海军士兵
obj_navy = Navy()
实例化空军,产生空军士兵
obj_airforce = AirForce()
各部门注意,等待将军的命令
lst = [obj_army,obj_navy,obj_airforce]
1.全体出击
2.全体撤退
3.空军上,其他人撤
4.按q键退出
sign = True
while sign:
num = input("将军请下令:")
for i in lst:
if num == "1":
i.attack()
elif num == "2":
i.back()
elif num == "3":
if isinstance(i,AirForce):
i.attack()
else:
i.back()
elif num.upper() == "Q":
print("将军,您辛苦了~")
sign = False
break
else:
print("风太大,我听不见!")
break