我要检查四个变量的类型是否是特定类型,我必须这样做:
if (type(a) is not SomeType or
type(b) is not SomeType or
type(c) is not SomeType or
type(d) is not SomeType):
raise Exception("Not the correct types")
这感觉是重复的。似乎有更好,更少冗余的方法可以做到这一点?
答案 0 :(得分:2)
您可以使用any检查是否有任何物品属于SomeType
类型。
您还应该考虑使用isinstance来检查类型。
if any(not isinstance(item, SomeType) for item in [a,b,c,d]):
raise Exception("Not the correct types")
您也可以使用all
编写此代码if not all(isinstance(item, SomeType) for item in [a,b,c,d]):
raise Exception("Not the correct types")