Python中逻辑运算符and的执行顺序与move函数单行实现问题
Python逻辑运算符
and的执行顺序与move函数单行实现 and的执行顺序是固定的:Python里and采用短路求值规则,严格从左到右执行。先计算左侧表达式copy(src, dst),只有当它返回True时,才会继续执行右侧的delete(src)。所以你写的return copy(src, dst) and delete(src)完全能保证先复制再删除的顺序,符合需求。无法自定义
and的执行顺序:这个短路求值规则是Python语言内置的固定逻辑,没有办法修改它的执行顺序。如果要调整操作顺序,只能手动调换表达式的左右位置,但这里你的需求就是先复制后删除,当前写法的顺序正好是对的。单行写法完全可行:这个单行实现完全满足move函数的要求——只有复制和删除都成功时才返回
True,只要其中一步失败,整个表达式就会返回False,和分两步赋值的逻辑完全一致。
内容的提问来源于stack exchange,提问作者DoubleS
相关产品推荐
相关产品推荐

