運算和運算符
運算: 由一個以上的值經過變化得到新值得過程,就是運算。
運算符: 用于運算的符號,就是運算符
運算的分類:
1.算數運算
2.比較運算/關系運算
3.賦值運算
4.邏輯運算
5.位運算
6.成員運算
7.身份運算
算術運算
/ 除法運算
+ 加法運算
- 減法運算
* 乘法運算
/ 除法運算
% 取余運算
// 取商運算
/ 地板除
** 冪運算
關系運算/比較運算
< 小于運算
> 大于運算
== 等于運算
<= 小于等于運算
>= 大于等于運算
!= 不等于運算
賦值運算
= 普通賦值運算
+= 加法賦值運算
-= 減法賦值運算
*= 乘法賦值運算
/= 除法賦值運算
%= 取余賦值運算
//= 取商賦值運算
**= 冪賦值運算
所有運算賦值操作的格式都可以轉換為[變量 = 變量 運算符 值],如:
var /= 5 相當于 var = var / 5
邏輯運算
邏輯運算就是布爾值之間的運算,Python只有三種運算方式
1.and 邏輯與運算(有假則假;兩邊為真才是真)
洗手:左手洗了True,右手洗了True,洗完了 True左手洗了True,右手沒洗False,沒洗完 False左手沒洗False,右手洗了True,沒洗完 False左手沒洗False,右手沒洗False,沒洗完 False
2.or 邏輯或運算(有真則真;兩邊為假才是假)
鑰匙丟了找鑰匙:你沒找到鑰匙False,你媳婦也沒有找到鑰匙False,鑰匙沒找到 False你找到了鑰匙True,你媳婦沒找到鑰匙False,鑰匙找到了 True 你沒有找到鑰匙False,你媳婦找到了鑰匙True,鑰匙找到了 True你和你媳婦同時找到了鑰匙True和True,鑰匙找到了 True
3.not 邏輯非運算(真變假,假變真)
老爺們去了泰國純爺們兒True,做了手術,不是純爺們兒了 False
位運算
在二進制基礎上進行的邏輯運算就是位運算。
& 按位與運算
| 按位或運算
~ 按位非運算
^ 按位抑或運算
<< 左移運算 相當于×2運算
\>> 右移運算 相當于地板除2運算
成員運算
檢測一個數據是否在指定的容器(復合數據)當中
檢測數據1是否在數據2中格式:數據1 in 數據2
檢測數據1是否不在數據2中
格式:數據1 not in 數據2
身份檢測
檢測兩個變量在內存中是否是同一個值
檢測兩個變量在內存中是不是同一個值格式:數據1 is 數據2
檢測兩個變量在內存中是否不是同一個值
格式:數據1 is not 數據2
運算優先級的問題
運算的優先級
例如:在數學中,1+5x2,乘法會優先運算。
我們的Python程序也是一樣的,一個運算中存在多個運算符時,系統也有它自己的一套優先級的規則。
Python的運算優先級規則如下,從上向下按照優先級的由高向低依次排序
但是我們并不推薦各位死記硬背,因為我們自己寫程序遇到優先級問題可以使用()解決,更方便,也更易讀。
** 指數(最高優先級)
~ + - 按位翻轉, 一元加號和減號(最后兩個的方法名為 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法減法
>> << 右移,左移運算符
& 位 'AND'
^ | 位運算符
<= < > >= 比較運算符
<> == != 等于運算符
= %= /= //= -= += *= **= 賦值運算符
is is not 身份運算符
in not in 成員運算符
not or and 邏輯運算符
檢測數據歸屬類型
type() 測試時可是使用,開發盡量避免使用格式:type(變量)
isinstance() 檢測一個數據是否由指定的類型創建
格式:isinstance(變量,檢測的類型)