我有这组常量声明
self.POUTPUT = 1
self.PPWM = 2
self.PINPUT = 4
self.PUNUSED = 8
self.PSONAR = 16
self.PULTRA = 32
self.PSERVOD = 64
self.PSTEPPER = 128
self.PCOUNT = 256
self.PINPUTDOWN = 512
self.PINPUTNONE = 1024
什么是python检查值是否匹配任何输入状态(4512和1024)的方法? 附加信息:我通常只在简单的语言中使用位模式检查,但我想知道在Python中是否有更好的方法:) 基本上,每个管脚可以有上述的一种输入/输出状态,但如果一个管脚是输入值中的任何一个,则会发生一个动作 e、 g如果pin==4或512或1024->;执行某些操作
最好使用
set
来测试集合成员资格(您似乎正在做的事情)。在当然,你可以用各种基本相同的方法来处理这个问题,但是无论如何,你必须对这些神奇数字中的哪些是“输入状态”进行编码。在
现在,如果如前所述,您实际想要的是基于是否设置了某个位来做一些位屏蔽或测试,那么您需要看看Python bitwise operators。特别是,要查看一个值是否等于其中一个值,可以使用按位and,在Python中用
^{pr2}$&
表示。Joran's answer很好地涵盖了这种用法,但基本思想是:或者如果所有这些输入值都触发相同的操作:
是人们通常是怎么做的
检查很多
^{pr2}$相关问题 更多 >
编程相关推荐