中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中常見的運算符有哪些?有什么差別

發布時間:2020-04-22 15:10:07 來源:億速云 閱讀:1266 作者:小新 欄目:編程語言

python中常見的運算符有哪些?其實和其他大多數的語言一樣,python 中常用的操作符也有算術操作符、比較操作符、邏輯操作符,但是又有一些差別,下面小編給大家詳細介紹。

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中常見的運算符有哪些?有什么差別就分享到這里了,當然并不止以上和大家分析的辦法,不過小編可以保證其準確性是絕對沒問題的。希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五华县| 合肥市| 阿克苏市| 紫金县| 酒泉市| 拜城县| 科技| 永胜县| 玉溪市| 桃源县| 兰溪市| 博野县| 静宁县| 隆安县| 枞阳县| 礼泉县| 当涂县| 佛坪县| 商丘市| 高陵县| 中江县| 临安市| 镇安县| 富源县| 柯坪县| 南岸区| 石林| 巴林右旗| 景德镇市| 西昌市| 眉山市| 福海县| 鄂托克旗| 额敏县| 平果县| 阿克苏市| 临猗县| 金平| 西吉县| 安宁市| 肥东县|