yandyand

导航

isinstance()函数使用

'''
isinstance()
判断一个对象是否是一个已知的类型,类似于 type()命令
type()函数是判断一个对象是什么类型
isinstance()就相当于判断对象是否是指定的类型
'''

#:一个简单的例子
#:判断a变量是否是一个int类型,如果是 返回 True 不是则返回 Flase
# a = 2
# b = isinstance(a,int)
# print(b)


'''
应用到类中,判断类中是否包含指定的类
'''
class Assault:
def attack(self):
print("按照队形,进攻!")
def defense(self):
print("Stop!原地待命,全队保持警戒")

class patrol:
def attack(self):
print("按照指定路线进行巡逻~")
def defense(self):
print("退回到我们的防线上!原地防守!")

class Herald:
def attack(self):
print("必须尽快将这个消息带回到总部~")
def defense(self):
print("先等等,前面好像有点不对劲,原地待命")

a = Assault()
p = patrol()
h = Herald()
Army = [] #:
Army.append(a)
Army.append(p)
Army.append(h)

Choises = input("请您下达指令")
if Choises == "全员进攻":
for i in Army:
i.attack()
elif Choises == "退守":
for i in Army:
i.defense()
elif Choises == "突击兵":
for i in Army:
#:判断i是Assault的实例 那么是就返回True
if isinstance(i,Assault):
i.attack()
else:
i.defense()
elif Choises == "巡逻兵":
for i in Army:
if isinstance(i,patrol):
i.attack()
else:
i.defense()
elif Choises == "传令兵":
for i in Army:
if isinstance(i,Herald):
i.attack()
else:
i.defense()

posted on 2020-06-27 17:00  yandyand  阅读(517)  评论(0编辑  收藏  举报