Python 是否有等效于“开关"的功能?
问题描述
我正在尝试检查 8 位二进制字符串中的每个索引.如果是 '0'
则为 'OFF'
否则为 'ON'
.
I am trying to check each index in an 8 digit binary string. If it is '0'
then it is 'OFF'
otherwise it is 'ON'
.
有没有更简洁的方式来编写这个带有类似开关功能的代码?
Is there a more concise way to write this code with a switch-like feature?
解决方案
不,它没有.就语言本身而言,Python 的核心原则之一是只有一种方法来做某事.该开关是多余的:
No, it doesn't. When it comes to the language itself, one of the core Python principles is to only have one way to do something. The switch is redundant to:
if x == 1:
pass
elif x == 5:
pass
elif x == 10:
pass
(当然没有失败).
switch 最初是作为 C 的编译器优化引入的.现代编译器不再需要这些提示来优化这种逻辑语句.
The switch was originally introduced as a compiler optimization for C. Modern compilers no longer need these hints to optimize this sort of logic statement.
相关文章