Python 簡明教程 --- 5,Python 表達式與運算符

微信公衆號:碼農充電站pro
我的主頁:https://codeshellme.github.iohtml

靠代碼行數來衡量開發進度,就像是憑重量來衡量飛機制造的進度。
—— Bill Gatespython

目錄git

在這裏插入圖片描述

1,什麼是表達式

表達式是代碼的重要組成部分,一個表達式由運算符操做數兩部分組成。github

一個表達式就描述了對哪些數據,進行了什麼樣的操做shell

以下就是一個表達式:微信

sum = 1 + 2

其中,=+ 都是運算符,=是賦值運算符,+ 是相加運算符,sum12 都是操做數。code

這句話的含義是,將12 相加,並將它們的結果賦值給變量sumhtm

2,運算符

Python 中包含豐富的運算符,支持各類運算。以下:blog

  • 算術運算符
  • 位運算符
  • 關係運算符
  • 賦值運算符
  • 邏輯運算符

下面對這些運算符逐一進行介紹。排序

3,算術運算符

運算符 含義
+
-
*
/
// 除,向下取整
% 取餘
** 冪運算

示例:

>>> a = 20
>>> b = 7
>>> 
>>> a + b
27
>>> a - b
13
>>> a * b
140
>>> a / b
2.857142857142857
>>> a // b
2
>>> a % b
6
>>> a ** b
1280000000

4,位運算符

進行位運算時,會先將數字轉換成二進制,而後再作位運算。

運算符 含義
& 按位與
| 按位或
^ 按位異或
~ 按位取反
<< 左移
>> 右移

示例:

>>> a = 20
>>> b = 7
>>> a & b
4
>>> a | b
23
>>> a ^ b
19
>>> ~a	     # a 按位取反
-21
>>> ~b       # b 按位取反
-8
>>> a << 3   # a 左移3 位
160
>>> b >> 2   # b 右移2 位
1

5,關係運算符

關係運算符又叫比較運算符,其計算結果爲TrueFalse

運算符 含義
== 是否相等
!= 是否不等
> 是否大於
< 是否小於
>= 是否大於等於
<= 是否小於等於

示例:

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

6,賦值運算符

等號= 是最基本的賦值運算符,= 右邊的值稱爲右值= 左邊的值稱爲左值

賦值運算符= 的含義是將右值賦值給左值

例以下面代碼,a 爲左值,b 爲右值,這行代碼的含義是,將b 的值賦值給a

a = b

下面這些賦值運算符,都是在賦值運算符=算術運算符的基礎上衍生出來的,是一種簡寫形式:

運算符 示例
+= a += b 至關於 a = a + b
-= a -= b 至關於 a = a - b
*= a *= b 至關於 a = a * b
/= a /= b 至關於 a = a / b
//= a //= b 至關於 a = a // b
%= a %= b 至關於 a = a % b
**= a **= b 至關於 a = a ** b

7,邏輯運算符

運算符 含義
and 邏輯與
or 邏輯或
not 邏輯非

示例:

>>> a = True
>>> b = False
>>> a and b
False
>>> a or b
True
>>> not a
False
>>> not b
True

在數字中,非0 爲真,0 爲假:

>>> not 0   #  0 爲 False,not 0 爲 True
True
>>> not 1   #  1 爲 True,not 1 爲 False
False
>>> not 2   #  2 爲 True,not 2 爲 False
False
>>> not -1  # -1 爲 True,not -1 爲 False
False
>>> not -2  # -2 爲 True,not -2 爲 False
False

其實,True 就是 1False 就是 0

>>> True.real
1
>>> False.real
0
>>> True == 1
True
>>> False == 0
True

在字符串中,非空字符串爲真,空字符串爲假:

>>> not ''    # '' 爲 False,not '' 爲 True
True
>>> not 'abc' # 'abc' 爲 True,not 'abc' 爲 False
False

8,運算符的優先級

運算符有優先級之分,表達式在計算的時候,會先計算優先級較高的,處於同一優先級時,會從左到右計算。

以下表達式,該表達式會先計算2 * 3 結果是6,再計算1 + 6,結果是 7

>>> 1 + 2 * 3
7

之因此會先計算 2 * 3,就是由於* 的優先級高於+ 的優先級。

小括號()的優先級高於咱們上面介紹到的全部運算符的優先級,若是想改變計算順序,能夠使用小括號()

以下表達式,則會先計算1 + 2 結果爲3,再計算3 * 3,結果爲9

>>> (1 + 2) * 3
9

下表彙總了上文中介紹到的全部運算符的優先級,從高到低排序,同一行(用,分隔)中的運算符具備相同優先級:

運算符 含義
() 小括號內的表達式優先級最高
** 冪運算
~x,+x,-x 按位取反,正號,負號
*,/,%,// 乘,除,取餘,整除
+,- 加,減
<<,>> 左移,右移
& 按位與
^,| 按位異或,按位或
>,<,>=,<= 比較運算
==,!= 等於運算
=,+=,-=,*=,/=,%=,//=,**= 賦值運算
not,and,or 邏輯運算

建議:推薦使用小括號() 來顯示錶達式的計算順序,而不依賴運算符自己的優先級,這樣一目瞭然,方便維護。

(完。)


推薦閱讀:

Python 簡明教程 --- 0,前言

Python 簡明教程 --- 1,搭建Python 環境

Python 簡明教程 --- 2,第一個Python 程序

Python 簡明教程 --- 3,Python 基礎概念

Python 簡明教程 --- 4,Python 變量與基本數據類型


歡迎關注做者公衆號,獲取更多技術乾貨。

碼農充電站pro

相關文章
相關標籤/搜索