關於 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):僅當表達式為假時為真