站長資訊網
        最全最豐富的資訊網站

        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視頻教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲精品国产高清不卡在线| 国内精品久久久久影院日本| 久久久久人妻精品一区二区三区| 91亚洲国产成人久久精品| 四库影院永久四虎精品国产| 91久久精品国产成人久久| 国产精品一区二区av| 亚洲情侣偷拍精品| 久久精品国产99久久丝袜| 91精品在线国产| 国内精品久久久久影院免费| 精品日韩亚洲AV无码一区二区三区| 一夲道无码人妻精品一区二区| 久久久国产精品| 国产午夜精品久久久久九九电影| 久久久九九有精品国产| 国产成人精品免费午夜app| 精品久久久久久成人AV| 亚洲精品乱码久久久久久中文字幕 | 国产精品亚洲一区二区三区在线| 亚洲精品字幕在线观看| 亚洲精品成a人在线观看| 日韩精品一区二区三区在线观看 | 精品国产成人在线| 国产精品乱伦| 国产精品成人小电影在线观看| 成人精品一区二区久久久| 国产成人99久久亚洲综合精品| 国产精品国产精品国产专区不卡 | 国产叼嘿久久精品久久| 9re热国产这里只有精品| 成人国产一区二区三区精品| 国产成人高清精品一区二区三区| 欧美精品1区2区| 97精品国产高清自在线看超| 国产精品国产三级在线专区| 国产午夜亚洲精品国产成人小说| 国产在线精品福利大全| 欧美精品色婷婷五月综合| 亚洲精品高清在线| 久久精品国产网红主播|