如何解决如何使用python中的父类检查子类的类型?
假设我有五个这样的类:
class Operator:
def __init__(self):
pass
class Pow(Operator):
pass
class Mul(Operator):
pass
class Div(Operator):
pass
class Add(Operator):
pass
class Sub(Operator):
pass
一个标记数组,其中一些是数字,其他是从 {Pow、Mul、Div、Add、Sub} 上面的类实例化的对象。
当我遍历数组时,我希望能够像这样检查令牌的类型:
for token in tokens:
if type(token) is Operator:
# do something
而不是这样做:
for token in tokens:
if type(token) in [Pow,Mul,Div,Add,Sub]:
# do something
我不知道第二个 for 循环是否有好的替代方案。
(欢迎任何代码重构)
解决方法
使用方法import random
def random_no():
# Making a list of 10 random reals numbers between 30 and 35
random.seed(70)
random_list=[]
for i in range(10):
x=(5*random.random()+30)
random_list.append(x)
print(random_list)
这里是例子
isinstance(token,Operator)
,
ar = Div()
if isinstance(ar,Operator):
print("true")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。