在处理多个条件时,我目前使用以下语法:
if hasattr(myClass,methodA)==False or hasattr(myClass,methodB)==False or hasattr(myClass,methodC)==False: return
我想知道是否有更短的方法来做同样的事情。我特别不喜欢的是我必须在重复中使用“== False”三次。如果使用它,它会是正确的吗?
if not hasattr(myClass,methodA) or not hasattr(myClass,methodB) or not hasattr(myClass,methodC): return
答案 0 :(得分:4)
您可以执行if not all(hasattr(myClass,meth) for meth in ('methodA', 'methodB', 'methodC'))
答案 1 :(得分:0)
功能:
if any(map(lambda method: not hasattr(myClass, method), ['methodA', 'methodB', 'methodC'])):