1. 程式人生 > >零基礎學習 Python 之運算子

零基礎學習 Python 之運算子

寫在之前

截止到昨天我已經寫完了 Python 的基本物件型別,在瞭解了這些戲本的物件型別以後,我們就可以用 Python 的語句來使用它們,語句的作用就是用某些邏輯組合操作某些物件,所以接下來的一段時間我們將開始 Python 語句的學習。

運算子

我們雖然在之前的文章中(零基礎學習 Python 之數字與運算)講過運算,但那個時候我們處於剛開始接觸的階段,所以我們只是稍微講了其中的一點點,程式語言的運算子其實還是比較多的,我接下來會將各種運算子總結一下。

1.算術運算子

在這裡插入圖片描述

上表是常見的算術運算子(截圖自菜鳥教程),上面的運算子和我們以前中學時學的運算子大多數是一樣的,因為我們平時學的運算子有計算的優先順序,在程式語言裡面也是有優先順序的,且規律和在數學中的是一樣的,如果不確定的話可以自己試試。

2.比較運算子

在計算機中任何兩個同一型別的物件都可以比較,比如數字,字串等等,但是一定要記住比較的雙方一定要是同一型別的物件。因為不同型別的物件比較起來完全沒有意義,你說一隻豬和一臺電視兩個誰大呢?所以在真正的程式設計中,我們要謹慎對待。

比較運算子其實我們也是很早很早以前就接觸了:大於,小於,等於,不等於等等,Python 裡也都基本上是這些東西,都熟悉的很。
在這裡插入圖片描述

上表就是常用的比較運算子(截圖自菜鳥教程),比較的返回結果一個是 True 一個是 False,這個的意思就是如果比較的結果成立,則為真,返回 True;如果比較的結果不成立,則為假,返回 False。下面用幾個例子來演示一下。

>>> a = 10
>>> b = 20
>>> a > b
False
>>> a < b
True
>>> a == b
False
>>> a >= b
False
>>> a <= b
True
>>> a != b
True

其實不是隻有數字才可以比較,字串也可以比較,字串的比較是按照字典序來進行的,首先比較第一個字元,相同的話再比較第二個字元,直到找到不同的或者到了末尾。

>>> a = 'abcd'
>>> b = 'abcf'
>>> a > b
False
>>> a < b
True

在 Python 中兩種不同型別的物件雖然可以比較,但是我建議你還是不要這麼做。

3.邏輯運算子

邏輯運算子裡我想講的就是布林(bool)型別,至於什麼是邏輯你可以先不用懂,或者你想知道的話可以去 Google,權當它就是個叫法就好了。

其實在所有的高階語言中,都有這麼一類物件,這類物件被稱為布林型別,它是用一個人的名字來命名的 – 喬治布林,感興趣的同樣可以去搜一搜,在這裡多說一句,其實你為什麼會覺得數學學起來枯燥無味,你覺得它充滿了理性,一點沒有意思,但是創造數學裡各種組成的大人物都是有血有肉的,多去了解一下數學的歷史,數學的人物,瞭解一下背後的東西可以提高學習數學的樂趣。

那麼到底什麼是布林型別?其實就是返回的結果為 True 或 False 的物件。如果你想判斷表示式的布林型別返回值,可以用 bool() 函式。下面我來說一下一些比較特殊的布林值,簡單的可以自己去嘗試,學習的樂趣就是在不斷嘗試中激發出來的。

>>> a = "" #這是空
>>> bool(a)
False
>>> a = " " #這是空格,空格是一個字元
>>> bool(a)
True
>>> a = [] #這是一個空列表
>>> bool(a)
False
>>> a = {} #這是一個空字典
>>> bool(a)
False
>>> a = 'leey'
>>> bool(a)
True

下面來說說布林運算,進行布林運算的運算子成為邏輯運算子,有 and, or 和 not。

and 是 “與” 運算,它的運算方法是:如果 A 是 True,那麼就計算 B,如果 B 為 True,那麼結果就是 True,如果 B 為 False,那麼結果就是 False;如果 A 是 False 的話,直接不用計算 B,直接返回 False。

>>> 4 > 2 and 4 > 3
True
>>> 4 > 2 and 4 < 3
False
>>> 4 < 2 and 4 > 3
False

or 是 “或” 運算,它的運算方法是:如果 A 是 True,那麼不用看 B,直接返回 True;如果 A 是 False,再計算 B,B 是什麼,就返回什麼。

>>> 4 > 3 or 4 > 2
True
>>> 4 < 3 or 4 > 2
True
>>> 4< 3 or 4 < 2
False

not 是 “非” 運算,即無論是什麼,都要否定它。

>>> 4 > 3
True
>>> not(4>3)
False
>>> 4 < 3
False
>>> not(4<3)
True

當然了,在進行邏輯判斷或者條件判斷的時候,肯定不都是上述的簡單的表示式,肯定會碰到複雜的表示式,碰到複雜的表示式的時候最好使用括號,這樣便於分辨和運算,再者是因為前面我們說的優先順序的問題。

優先順序的順序基本上是: " == " > “!=” > “not” > “and” > “or”,所以為了不去記這些複雜的優先順序,還是用括號吧,用多餘的腦容量去記點別的問題。

寫在最後

更多內容,歡迎關注公眾號「Python空間」,期待和你的交流。
在這裡插入圖片描述