var1 = 5
var2 = 8
#(1) + 加
res = var1 + var2
print(res)
# (2) - 減
res = var1 - var2
print(res)
# (3) * 乘
res = var1 * var2
print(res)
# (4) / (除,結果必定是小數)
var1 = 8
var2 = 2
res = var1 / var2
print(res)
# (5) // 地板除 (整除)
var1 = 8
var2 = 2
res = var1 // var2
print(res)
# 若是相除的兩個含有小數,那麼就在結果上加上.0
var1 = 8.0
var2 = 2
res = var1 //var2
print(res)
#(6) % 取餘
print("<=================>")
var1 = 7
var2 = 4
res = var1 % var2
print(res)
print("<================>")
var1 = -7
var2 = 4
res = var1 % var2
print(res) #1
# -3 +4 =1
print("<===================>")
var1 = 7
var2 = -4
res = var1 % var2
print(res) #-1
# 3-4 = -1
# (7) ** 冪運算
var1 = 3
res = var1 ** 3
print(res)python
#(1) > 大於
var1 = 10
var2 = 20
res = var1 > var2
print(res)
# (2) < 小於
var1 = 10
var2 = 20
res = var1 < var2
print(res)
#(3) >= 大於等於
var1 = 20
var2 = 20
res = var1 >= var2
print(res)
#(4) <= 小於等於
var1 = 20
var2 = 20
res = var1 <= var2
print(res)
#(5) == 等於
var1 = 14
var2 = 13
res = var1 == var2
print(res)
'''
是2個等號,不是一個等號,一個等號是在作變量的賦值,兩個是比較是否相同
if var1 == var2
print(123)
'''
# (6) != 不等於
var1 = 14
var2 = 13
res = var1 != var2
print(res)spa
# (1) = 將右邊的值賦值給左側
var1 = 19
var2 = 18
var2 = var1
print(var2)
# (2) += 加等於
var1 +=var2
#var1 = var1 + var2 var1 = 19 + 20 = 39
print(var1)
#(3) -= 減等於
var1 -= var2
#var1 = var1 - var2
print(var1)
#(4) *= 減等於
var1 *= var2
#var1 = var1 * var2
print(var1)
#(5) /= 除等於
var1 /= var2
# var1 = var1 / var2
print(var1)
# (6) //= 整除等於
var1 //= var2
# var1 = var1 // var2
print(var1)
#(7) %= 取餘等於
var1 %= var2
# var1 = var1 % var2
print(var1)
# (8) **= 冪等於
var1 **= var2
# var1 = var1 ** var2
print(var1)內存
""" 若是是字符串,必須是一個連續的片斷才能判斷成功"""
# (1) 對於str
# str
strvar = "英雄愛江山,更愛漂亮人"
res = "愛江山" in strvar
print(res)
# (2) 對於list tuple set
listvar = [1,2,34,56,7]
res = 2 in listvar
print(res)
res = 55 not in listvar
print(res)
tuplevar = (323,31231,32131,3121)
res = 432 not in tuplevar
print(res)
setvar = {(1,2,3),(4,5,6),7}
res = (1,2,3) in setvar
print(res)
#(3)對於dict (in not in 判斷字典是字典的鍵)
dictvar = {"hxd":"大","sch":"小"}
res = "大" not in dictvar #True 由於大不在鍵裏,因此是not in
print(res)
res = "hxd" in dictvar
print(res)
res = "aaa" not in dictvar
print(res)字符串
(檢測兩個數據在內存當中是不是同一個值)class
var1 = 6
var2 = 6
print(id(var1),id(var2))
var1 = "好"
var2 = "很差"
#is 用來判斷2個變量的地址是否一致
res = var1 is var2
print(res)
res = var1 is not var2
print(res)
# var1 == var2 與 var1 is var2 區別
一個是在比較兩個值是否相同
一個是在比較兩個值地址是否相同容器
# (1) and 邏輯與
'''
全真則真,一假則假
'''
res = True and True
print(res)
res = True and False
print(res)
res = False and True
print(res)
res = False and False
print(res)
#第一個爲真,其餘都爲假
#(2) or 邏輯或
''' 全假則假,一真則真'''
res = True or True
res = True or False
res = False or False
res = False or True
print(res)
# (3) not 邏輯非
''' 真變假 假變真'''
res = not False
res = not True
print(res)
#(4)邏輯短路 (後面的代碼就不走了)
'''
#兩種狀況
res = False and 布爾值
res = True or 布爾值
'''
#print 默認返回一個None 而 None的布爾值是假
# res = False and print(1)
print("============================")
res = True and print(2)
print(res)
print("=========================")
res = True or print(3) #當最後結果爲真的時候就不會返回None
print(res)
print("===========================")
res = False or print(4)
print(res)
print("==========")
res = True and 3
print(res)
# 邏輯運算符優先級
## python 語言支持邏輯運算符, 如下假設變量a 爲 10, b爲 20:
##運算符 邏輯表達式 描述 實例
##and x and y 布爾"與" - 若是 x 爲 False,x and y 返回 False,不然它返回 y 的計算值。 (a and b) 返回 20。
##or x or y 布爾"或" - 若是 x 是 True,它返回 x 的值,不然它返回 y 的計算值。 (a or b) 返回 10。
##not not x 布爾"非" - 若是 x 爲 True,返回 False 。若是 x 爲 False,它返回 True。 not(a and b) 返回 False
''' () > not > and > or '''
# (5+6)*37
res = 5 or 6 and 7
print("5 or 6 and 7等於:",res)
#5 or 7 => 7
res = not (5 or 6)and 7
#| (5 or 6) => 5 | not 5 => False | False and 7 => False
print("not (5 or 6)and 7 等於:%s" %(res))
res = 5>6 or 7<8 and 9>10 or 11<12
print(res)
'''
# res = 5>6 or 7<8 and 9>10 or 11<12
#下面是解析:
False or True and False or True
False or False or True
False or True => True
'''
print(res)
'''
有一種狀況不用考慮and和or優先級問題,
就是or 端口,好比 True or .......=> 結果必定爲Ture
'''
# #數據類型的判斷 isinstance
'''
isinstance (要判斷的數據,判斷的類型)要麼返回真, 要麼返回假
isinstance (要判斷的數據,(元組,放在各類類型,知足一個條件即爲真))
'''
# 5 是int 類型的嗎?
res = isinstance(5,int)
print(res)
res = isinstance("2233",list)
print(res)
# 有一個類型知足 返回真 一個都不知足 返回假
res = isinstance(5,(int,list,tuple,str))
print(res)變量
var1 = 19
var2 = 15
#(1) & 按位與
res = var1 & var2
print(res)
"""
000...10011
000...01111
000...00011
"""
# (2) | 按位或
res = var1 | var2
print(res)
"""
000...10011
000...01111
000...11111
"""
#(3) ^ 按位異或
res = var1 ^ var2
"""
000...10011
000...01111
000...11100
"""
print(res)
#(4) << (左移 右邊的值至關於乘以2的幾回冪 n<<m 至關於n乘2的m次冪
res = 5 << 1
res = 5 << 2
print(res)
'''
000...101
000...1010
'''
# (5) >> 右移 (右移 右邊的值至關於除以2的幾回冪 n <<m 至關於n除2的m次冪)
res = 5 >>1 #5 // 2 的1次冪 => 2
res = 5 >>2 #5 // 2 的2次冪 => 1
res = 5 >>3 #5 // 2 的3次冪 => 0
print(res)
'''
000...101
000....10 => 2
000....01 => 1
'''
#(6) ~ 按位非 (按位非 操做的二進制的補碼 對二進制的每一位進行取反,包括符號位) 公式:-(n+1)
res = ~19
print(res)
'''
000...10011 (補碼)
111...01100 (按位非)
#給補碼求原碼
111.。。01100
100...10011 (反碼)
100...10100 (原碼= 反碼+1)
十進制 => -20
'''
res = ~(-19)
print(res)
'''
1000...10011 (原碼)
1111...01100 (反碼)
1111...01101 (補碼)
#如今 進行按位非
0000...10010
由於高位都是0是正數
原碼=反碼=補碼
0000...10010 (原碼)數據類型
() 括號優先級最高
** 優先級其次
= 優先級最低
一元元算符:同一時間只操做一個數字的(- ~)
二元運算符:同一時間能操做二個數字的(+,-,...)
~19+5
通常來講,一元運算符大於二元運算符的優先級
+ - * / => * / 大於 + -
() not and or => not > and > or
若是都是二級運算符:
算數運算符 > 位運算符 > 比較運算符 > 身份運算符 > 成員運算符 > 邏輯運算符
賦值運算符 做爲最後等號右邊的值算好後進行賦值
res = 5+5 << 6 // 3 is 40 and True
print(res)
'''
5+5 << 2 is 40 and True
10 <<2 is 40 and True
40 is 40 and True
True and True
True
'''二進制