def iif(condition,truepart,falsepart=None,forward=False):
"""
if condition is boolean return (falsepart,truepart)[condition]
if condition is callable returns truepart if condition(tp) else falsepart
if forward is True condition(truepart) is returned instead of truepart
if forward is callable, forward(truepart) is returned instead
"""
if isCallable(condition):
v = condition(truepart)
if not v:
return falsepart
elif not condition:
return falsepart
if isCallable(forward):
return forward(truepart)
elif forward:
return v
else:
return truepart
评论列表
文章目录