和其他大多數的語言一樣,python 中常用的操作符也有算術運算符、比較操作符、邏輯操作符,但是又有一些差別,以下將詳細介紹。
1. 算術運算子
和其他大多數的語言一樣,python 也有(加)、-(減)、*(乘)、/(除)、%(取餘)這5 個運算符,除此之外還有兩個特殊的運算符,分別是//(整除)和* *(冪運算符,或稱為乘方運算符)。
這裡, 、-、* 的功能和計算機都一樣,不再贅述了。
% 運算子對浮點數也有效,例如:
>>> 3.75 % 0.5 0.25 >>> 3.75 % 2 1.75 >>>
** 運算子是進行冪(乘方)運算的,例如:
>>> 3**2 9 >>> 2**3 8 >>>
需要注意的是** 運算子和正負號( 、-)之間的優先權關係,** 比其左側的正負號優先權高,比其右側的正負號優先權低。或者直接就可以認為 ** 運算子比正負號優先級高,因為正負號在其右側時,兩個符號在一起,總不能把正負號去掉吧。例如:
>>> -3**2 -9 >>> 3**-2 0.1111111111111111 >>>
需要強調和區別的是 / 和 // 這兩個除運算子。 python 2.7 中,/ 對於兩個整數相除來說是整除,計算結果只留下整數部分,而小數部分沒有了,例如:
>>> 3/2 1 >>>
如果想要執行普通的除法,即實現保留計算結果的小數部分,可以用浮點數進行運算,例如:
>>> 3.0/2 1.5 >>> 3/2.0 1.5 >>> 3/2. 1.5 >>> 3.0/2.0 1.5 >>>
而在python 3 中,/ 有所改變,不管是整數除法還是浮點數除法,執行的都是浮點數除法,也就是可以保留計算結果的小數部分。
同時,在python 2 中實作保留計算結果的小數部分的另一個方法是,在程式前加上一句from __feture__ import division 並執行該語句(語句中的__ 為兩個底線),例如:
>>> from __future__ import division >>> 3/2 1.5 >>> 5/4 1.25 >>>
此時的除法運算和python 3 中除法運算已經是一致的了。
在python 中也提供了// 這個整除運算符,它做的是整除,而且對浮點數執行的也是整除,例如:
>>> 3//2 1 >>> 3.0//2.0 1.0 >>> 5//2.0 2.0 >>>
#2 . 比較運算子
和其他大多數的語言一樣,python 的比較運算子包括、>=、==、!=。比較運算子根據表達式的值的真假傳回布林值 True 或 False。例如:
>>> 3 < 4 True >>> 3 > 4 False >>> 3 == 4 False >>> 3 != 4 True >>>
3. 邏輯運算子
#邏輯運算子就是我們常說的與、或、非,在python 裡分別表示為and、or、not。
使用邏輯運算子可以將任意的表達式連接在一起,並且得到一個布林值。例如:
>>> 3 < 4 and 3 > 4 False >>> 3 < 4 or 3 == 4 True >>> not 3 < 4 False >>>
在使用邏輯運算子時,最需要注意的一點是短路邏輯(或稱為惰性求值),它表達的意思是:邏輯運算是自左向右邊進行的,如果左邊已經決定結果,就不會去做右邊的計算。具體的表示如下:
對於x and y,如果x 為假,則立刻回傳x 的值,而不用去執行y;如果x 為真,則傳回y 的值
對於x or y,如果x 為真,則立刻回傳x 的值,而不用去執行y;如果x 為假,則傳回y 的值
例如:
>>> a Traceback (most recent call last): File "<pyshell#21>", line 1, in <module> a NameError: name 'a' is not defined >>> 0 and a 0 >>> 0 or a Traceback (most recent call last): File "<pyshell#23>", line 1, in <module> 0 or a NameError: name 'a' is not defined >>> 6 and a Traceback (most recent call last): File "<pyshell#24>", line 1, in <module> 6 and a NameError: name 'a' is not defined >>> 6 or a 6 >>>
由於我們事先沒有定義變數a,所以執行a 時是會報錯的。
對於0 and a,由於先判斷0 為假(程式語言中一般0 都表示假,非0 代表真),此時已經能夠決定整個結果是假,所以會直接回0 而不去執行a,因而不會報錯。
對於 0 or a,先判斷 0 為假,此時並不能決定整個結果是真是假,所以會繼續去執行 a,因而就會報錯。
對於 6 and a,先判斷 6 為真,此時並不能決定整個結果是真是假,所以會繼續去執行 a,因而就會報錯。
對於 6 or 啊,由於先判斷 6 為真,此時已經能夠決定整個結果是真,所以會直接返回 6 而不去執行 a,因而不會報錯。
總結:運算子的優先順序
#下面我們再來總結運算子的優先權高低,見下圖:
推薦學習:Python影片教學
#以上是python常用運算子有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

記事本++7.3.1
好用且免費的程式碼編輯器