关于 Python 位运算符,您需要了解什么? 【举例说明】

已发表: 2021-10-06

计算机系统将数据表示、存储和传输为称为位的二进制数字流。 “二进制”意味着只能有两个可能的值,0 和 1,每个这样的二进制数字都称为“位”。 无论您使用文本、十进制数字、图像、声音还是视频,计算机软件都会将信息转换为包含 0 和 1 的二进制代码。 二进制信息通常被称为机器语言,是计算机系统存储的最基本信息级别。

Python 中的位运算符让我们能够在最基本的层面上操作数据的各个位。 换句话说,Python 中的位运算符用于对整数值执行按位计算。 因此,首先将整数值转换为二进制形式,然后进行逐位运算。 “按位运算”完成后,结果以十进制格式返回。 Python 中的位运算符仅适用于整数。 通过数据科学计划提高自己的技能将帮助您克服挑战。 让我们更多地谈谈文本挖掘。

现在,让我们更详细地探讨 Python 位运算符、类型、它们的工作方式和示例。

目录

Python 中的位运算符

Python 包含六个运算符,用于对整数执行按位逻辑运算。

以下是 Python 中不同的按位运算符及其语法和各自功能的描述。

操作员

句法

描述

按位与

a&b

如果操作数中的两个位都是 1,则运算符返回 1。否则返回 0。

按位或

一个 | b

如果操作数中的任一位为 1,则运算符返回 1。否则返回 0。

按位非

〜一个

一元按位运算符,通过翻转其所有位来执行给定数字的逻辑否定。 在算术上,它表示为从 1 中减去单个位值 (~ai = 1 – ai)。

按位异或

一个^ b

如果位对包含相反的位值,则运算符返回 1。 否则返回 0。

按位左移

一个<<

运算符将其第一个操作数的位向左移动第二个操作数中定义的位数。 此外,运算符会添加足够的 0 来填充新位模式右侧形成的空白。

按位右移

一个>>

运算符将位向右推指定的位数。 因此,最右边的位总是被丢弃。

Python中的位运算符与示例

记住每个位运算符的基本描述后,让我们看一些例子来进一步阐明这个概念。

1. 按位与 (&)

如果两个位都为 1,则返回 1。否则返回 0。

  • 示例 #1

a = 24 = 11000(二进制)

b = 4 = 00100(二进制)

a & b = 11000

&

00100

= 00000

= 0(十进制)

  • 示例 #2

a = 10 = 1010(二进制)

b = 2 = 0010(二进制)

a & b = 1010

&

0010

= 0010

= 2(十进制)

2.按位或(|)

如果任一位为 1,则返回 1。否则返回 0。

  • 示例 #1

a = 67 = 1000011(二进制)

b = 54 = 0110110(二进制)

一个 | b = 1000011

|

0110110

= 1110111

= 119(十进制)

  • 示例 #2

a = 6 = 000110(二进制)

b = 34 = 100010(二进制)

一个 | b = 000110

|

100010

= 100110

= 38(十进制)

3. 按位非 (~)

返回位的 1 补码(反转位)。

  • 示例 #1

a = 60 = 111100(二进制)

~a = ~111100

= 000011

= 3(十进制)

  • 示例 #2

a = 33 = 100001(二进制)

~a = ~100001

= 011110

= 30(十进制)

4. 按位异或 (^)

如果两个位具有相反的值,则返回 1。 否则返回 0。

  • 示例 #1

a = 61 = 0111101(二进制)

b = 90 = 1011010(二进制)

a ^ b = 0111101

^

1011010

= 1100111

= 103(十进制)

  • 示例 #2

a = 2 = 000010(二进制)

b = 55 = 110111(二进制)

a ^ b = 000010

^

110111

= 110101

= 53(十进制)

5. 按位左移 (<<)

将位向左移动,并用 0 填充右侧形成的空白。

  • 示例 #1

a = 39 = 100111(二进制)

a << 1 = 1001110 = 78(十进制)

a << 2 = 10011100 = 156(十进制)

a << 3 = 100111000 = 312(十进制)

  • 示例 #2

b = 74 = 1001010(二进制)

b << 1 = 10010100 = 148(十进制)

b << 2 = 100101000 = 296(十进制)

b << 3 = 1001010000 = 592(十进制)

6.按位右屎(>>)

将位向右移动并用 0 填充左侧形成的空白。

  • 示例 #1

a = 157 = 10011101(二进制)

a >> 1 = 1001110 = 78(十进制)

a >> 2 = 100111 = 39(十进制)

a >> 3 = 10011 = 19(十进制)

  • 示例 #2

b = 89 = 1011001(二进制)

b >> 1 = 101100 = 44(十进制)

b >> 2 = 010110 = 22(十进制)

b >> 3 = 001011 = 11(十进制)

Python 中的位运算符(带代码的示例)

以下是一些简单的代码片段来说明 Python 中的位运算符:

1. 按位与、或、非和异或

资源

资源

2. 移位运算符

资源

资源

前进之路:通过 upGrad 的数据科学专业证书课程掌握 Python 技能

您是一个几乎没有编码经验的有抱负的业务经理吗? 然后 upGrad 为您提供商业决策数据科学专业证书课程。

数据科学专业证书课程专为希望发展基础数据科学技能和实践知识的管理人员和在职专业人士而设计。 这个为期 8 个月的严格在线课程专注于数据科学问题、算法以及如何呈现数据以做出重要的业务决策。 课程涵盖以下课程:

  • 预科准备内容
  • 业务问题解决、洞察力和讲故事
  • 统计和机器学习
  • 战略
  • 顶峰项目
  • Python 简介(可选模块)

以下是该计划的主要亮点:

  • IIM Kozhikode 全球认可的认证
  • 200 多个小时的内容,20 多个现场学习课程,5 多个专家辅导课程
  • 3 个行业项目和一个顶点
  • 全面覆盖 Excel、Python、Tableau、R 和 Power BI
  • 360 度的职业支持
  • 与行业导师一对一
  • 顶级公司的工作协助
  • 行业交流机会

结论

Python 是一种功能强大、用途广泛且易于使用的编程语言,使其成为专家和初学者的热门选择。 此外,Python 仍然是开发人员首选的编程语言,因为它具有绝对的效率、多功能性、可靠性和速度。 它可以在几乎所有类型的环境和平台中使用,而不会造成任何显着的性能损失。 此外,Python 为许多组织的大量数据处理工作负载提供支持。 Python 提供的数据分析简便性使其可用于许多应用程序,包括机器学习项目。

Python 无疑是处理关键业务流程的好帮手,因为它构成了数据科学的一个基本方面。 此外,随着大数据的扩展和越来越多的企业专注于做出数据驱动的决策,Python 的重要性不容忽视。 因此,如果您想掌握 Python 并将您的技能应用到数据驱动的业务场景中,请注册 upGrad向业内最优秀的人学习!

位运算符有什么用?

Python 中的位运算符用于对整数值执行按位计算。 为此,首先将整数转换为二进制,然后逐位执行各种操作,以十进制格式返回结果。 在 Python 中,位运算符只能用于整数。

按位运算符快吗?

在简单、低成本的处理器上,按位运算符通常比除法、乘法更快,而且通常比加法快得多。 通常,按位运算符使用较少的资源,因此使用的功率显着减少。

Python中逻辑运算符的用途是什么?

Python 具有三个允许比较值的逻辑运算符。 三个逻辑运算符 AND、OR 和 NOT 将表达式计算为布尔值,并根据运算符的结果返回 True 或 False。 下面给出了 Python 中的三个逻辑运算符:

1. AND (a and b):如果两个表达式都为真,则为真
2. OR (a or b):如果至少一个表达式为真,则为真
3. NOT (not a):仅当表达式为假时为真