编程语言
首页 > 编程语言> > 在Python中使用按位运算而不是布尔运算有什么好处?

在Python中使用按位运算而不是布尔运算有什么好处?

作者:互联网

我无法理解为什么我想在像Python这样的高级语言中使用按位运算符.从我学到的高级语言和低级语言来看,高级语言的设计通常是为了让您不必过多担心计算机中的机器代码.虽然我绝对不是专业的程序员,但我并不认为在一种语言中逐位操作程序,据我所知,这种语言旨在避免它.

当然,这是假设我正确理解高级和低级语言的区别.

我想在发布之前澄清一下,我明白了什么是按位操作.我在这里发现了很多问题,只是解释了按位操作是什么和/或指向解释操作的问题.我只是很难理解为什么有人会在Python中使用它而不是其他更容易(在我的新手看来)的错误修复解决方案.

TL;博士
或者,当更简单的布尔逻辑不能使用时,使用按位运算的代码的一些示例是什么?

解决方法:

如果您想在标准库中使用按位运算符的具体示例,请查看re库. According to the API,标志应该按位进行OR运算.

这允许您在单个参数中传递大量选项.请考虑以下选项:

re.compile(expression,re.I | re.M | re.X)

re.compile(expression,ignorecase=True,multiline=True,verbose=True)

我想我们可以同意第一个版本至少更紧凑.

你可能会想“嗯,我更喜欢第二个 – 毕竟,它更明确!” ……你可能有一个案例.但是,如果你有一个同事在C中生成一个二进制文件并且他告诉你文件的头部包含一个32位整数字段并且该整数字段存储解码文件其余部分所需的标志怎么办?作为一个合理的人,您希望以高级语言使用该文件,您可以轻松高效地操作数据,以便选择python.现在我打赌你很高兴你可以做按位操作,以免你需要使用C来解码/分析你的文件.

标签:python,bit-manipulation,low-level,high-level
来源: https://codeday.me/bug/20190825/1720839.html