天天看點

msp430中如何連續對位進行取反_《A Byte of Python》閱讀記錄——Python中的運算符和表達式...

我們都知道,我們所編寫的大多數語句(邏輯行)都包含了表達式(expressions)。一個表達式我們可以簡單的了解為包含運算符(operators)與操作數(operands)的式子。這裡的運算符包含了我們最常見的加、減、乘、除、乘方、整除、求餘數等,也包含了我們平時不常見的按位運算的左移、右移、按位與、按位或、按位異或、按位取反等,同時還包含關于邏輯運算的大于、小于、等于、不等于等等。

本文就對Python中的運算符進行一些簡要的概述。可能對于其他語言的使用者來說,有一些相同的,也有一些不同的。相同的我們都好了解,不同的就去學習一下這些運算在Python中是如何實作的。

關于運算符的所有操作我們都可以直接在互動式Python解釋器提示符下面進行操作。

下面就開始對Python的運算符進行講述:

1. 加 +

即兩個對象相加。我們在Python中直接将兩數相加會得到這兩個數之和。但是我們将兩個字元串相加,則是将兩個字元串連接配接成一個字元串。

msp430中如何連續對位進行取反_《A Byte of Python》閱讀記錄——Python中的運算符和表達式...

我還記得在VB中,連接配接兩個字元串要使用&符号。這裡也算是Python的功能簡單的展現了吧。

2. 減 -

即一個數減去另一個數,如果第一個操作數不存在,則假定為零。

msp430中如何連續對位進行取反_《A Byte of Python》閱讀記錄——Python中的運算符和表達式...

這裡,我們可以看出來,不存在字元串減字元串的操作哦。

3. 乘 *

數學上面我們的乘号是×,但是實際上計算機的操作裡面是沒有×這個符号的,我們都是使用*來表示乘。傳回的結果有兩個可能性,一個是兩個數的乘積,另一個是傳回字元串重複指定次數後的結果。

msp430中如何連續對位進行取反_《A Byte of Python》閱讀記錄——Python中的運算符和表達式...

4. 乘方 **

Python裡面使用兩個連續的*号來表示乘方。例如:3**4輸出81

5. 除 /

傳回一個數除以另外一個數的值。例如:13/3 輸出4.33333333.

6. 整除 //

Python裡面使用兩個斜杠來表示整除。即一個數除以另外一個數,并對結果向下取整至最接近的整數。例如:13 // 3 輸出4,-13 // 3 輸出-5

7. 取餘數 %

Python裡面使用%來表示一個數除以另外一個數後的餘數。例如:13 % 3 輸出1

8.

msp430中如何連續對位進行取反_《A Byte of Python》閱讀記錄——Python中的運算符和表達式...

左移 <<

每一個數字在記憶體中是以二進制數的方式存在的。例如數字2的二進制數表示為10 。Python使用<

9. 右移 >>

類似于左移,Python裡面使用>>來表示将某數的二進制位往右移。是以17>>3的意思為17的二進制數為10001,右移3位,二進制結果為10,然後轉換為十進制輸出為2 。

msp430中如何連續對位進行取反_《A Byte of Python》閱讀記錄——Python中的運算符和表達式...

10. 按位與 &

Python裡面使用&對數字進行按位與操作。即兩數的相同二進制位都為1時,結果為1,否則結果為0 。 例如5&3,即操作0101和0011進行按位與操作,得到結果為0001,轉換為十進制輸出為1 。

11. 按位或 |

Python裡面使用|對數字進行按位或操作。即兩數的相同二進制位中有一個為1時,結果為1,隻有兩個都為0時,結果為0 。 例如5|3,即操作0101和0011進行按位或操作,得到結果為0111,轉換為十進制輸出為7 。

12. 按位異或 ^

Python裡面使用^對數字進行按位異或操作。即兩數的相同二進制位中兩個都為1或都為0,結果為1,否則結果為0 。 例如5^3,即操作0101和0011進行按位異或操作,得到結果為0110,轉換為十進制輸出為6 。

13. 按位取反 ~

Python裡面使用~對數字x進行按位取反操作,得到結果為-(x+1)。例如~5,得到的結果為-(5+1),即為-6 。

msp430中如何連續對位進行取反_《A Byte of Python》閱讀記錄——Python中的運算符和表達式...

Python裡面的邏輯運算,其傳回的值為布爾值,即True或者False。請注意,Python傳回的結果中,True和False的首字母皆為大寫。

接下來,我們對Python裡面的邏輯運算進行簡述。

14. 大于>

比較x是否大于y。是則傳回True,否則傳回False。例如5>3,則傳回True。

15. 小于<

比較x是否小于y。是則傳回True,否則傳回False。例如5<3,則傳回False。

16. 大于等于>=

比較x是否大于等于y。是則傳回True,否則傳回False。例如5>=3,則傳回True。

17. 小于等于<=

比較x是否小于等于y。是則傳回True,否則傳回False。例如5<=3,則傳回False。

18. 等于==

比較x是否等于y。是則傳回True,否則傳回False。這裡要特别注意,Python中一個=表示指派,兩個=表示判斷是否相等。我在2020年四川省七年級下的資訊技術教材中發現有一個判斷密碼正誤的程式編寫時就出現了錯誤,本來應該是userpwd = input('請輸入密碼:'),意思為利用input函數輸入一個值,并将這個值指派給變量userpwd,但是編者寫成了userpwd == input('請輸入密碼:')。這樣的邏輯錯誤我們一定要引以為戒。例如5==3,則傳回False

19. 不等于!=

比較x是否不等于y。是則傳回True,否則傳回False。例如5!=3,則傳回True。

20. 布爾"非" not

如果x是True,則傳回False。如果x是False,則傳回True。例如not True,傳回False

21. 布爾"與" and

如果x是False,則x and y 傳回False,否則傳回y的計算值。當x是False時,Python将不會計算y,因為它已經了解and表達式的左側是False,這就意味着整個表達式都将是False。這種情況被稱作短路計算(Short-circuit Evaluation)。隻有當x是True時,Python才會去計算y的值,當y是True時,則傳回True,否則傳回False。例如:5<3 and 6>3,傳回False

22. 布爾"或" or

如果x是True,則傳回True,否則傳回y的計算值。同理,當x是True時,Python将不會計算y,在這裡短路計算同樣适用。隻有當x是False時,Python才會去計算y的值,當y是True時,則傳回True,否則傳回False。5<3 or 6>3,傳回True

msp430中如何連續對位進行取反_《A Byte of Python》閱讀記錄——Python中的運算符和表達式...

今天,我們系統的學習了Python關于運算符和表達式的内容,程式員的道路往往的枯燥乏味的,但是我們總是能夠在這中間獲得一些樂趣。這就是所謂的每天進步一點點吧。

本文由肖仲生原創,歡迎關注,帶你一起長知識!

繼續閱讀