[关闭]
@bergus 2016-01-08T16:00:07.000000Z 字数 441 阅读 2059

python三元表达式

python 三元表达式 bools.py


  1. # encoding=utf-8
  2. def t(func, arg1, arg2):
  3. """
  4. 苦于python的三元表达式,远没有其他语言的方便,所以就自己创造了一个
  5. >>> t(lambda x: x > 4, 'ok', 'no')(2)
  6. 'no'
  7. >>> t(3 > 4, 'ok', 'no')
  8. 'no'
  9. >>> t(lambda x: x > 4, lambda x:x*3, 'no')(6)(3)
  10. 9
  11. >>> t(lambda x: x > 4,t(lambda x: x > 6,'yes','no2'),'no1')(5)(1)
  12. 'no2'
  13. :param func:
  14. :param arg1:
  15. :param arg2:
  16. :return:
  17. """
  18. if not callable(func):
  19. if func:
  20. return arg1
  21. else:
  22. return arg2
  23. else:
  24. def _t(*args, **argks):
  25. if func(*args, **argks):
  26. return arg1
  27. else:
  28. return arg2
  29. return _t
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注