import operatorprint operator.__add__ # alias add -> +print operator.__sub__ # alias sub -> -print operator.__and__ # alias and_ -> &print operator.__or__ # alias or_ -> |
然后是什么和和或?
print operator."and ?????" # should be boolean-andprint operator."or ????" # should be boolean-or解决方法 这些不存在.你能做的最好的事就是用lambda代替它们:
band = (lambda x,y: x and y)bor = (lambda x,y: x or y)
原因是你无法实现和/或因为它们可以短路的完整行为.
例如:
if variable or long_fonction_to_execute(): # do stuff
如果变量为True,则永远不会调用long_fonction_to_execute,因为Python知道或者必须返回True.这是一个优化.在大多数情况下,这是一个非常理想的功能,因为它可以节省大量无用的处理.
但这意味着你不能使它成为一个功能:
例如:
if bor(variable,long_fonction_to_execute()): # do stuff
在这种情况下,甚至在评估之前就会调用long_fonction_to_execute.
幸运的是,鉴于您使用生成器和列表推导这一事实,您很少需要类似的东西.
总结以上是内存溢出为你收集整理的Python中boolean’和’,’或’的运算符方法是什么?全部内容,希望文章能够帮你解决Python中boolean’和’,’或’的运算符方法是什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)