python運算子包括賦值運算子、算術運算子、關係運算子、邏輯運算子、位運算子、成員運算子和身份運算子。
表示式是將不同型別的資料(常亮、變數、函式)用運算子按照一定得規則連線起來的式子。
算術運算子和算術表示式
算術運算子包括四則運算符、求模預算符和冪運算子。
算術運算子
表示式說明
+x + y
加法運算
-x - y
減法運算
*x * y
乘法運算
/x / y
除法運算
%x%y
求模運算
**x**y
x的y次方
//x // y
兩數相除向下取整
python中的除法運算(python3.x)進行浮點數計算,也就是說 x/y返回的結果是浮點數。
%為取模運算,x%y的結果將是x除以y的餘數。
如果要從整數相除中得到乙個整數, 丟棄任何小數部分, 可以使用另乙個操作符"//"。
x = 5關係運算子是對兩個物件進行比較。y = 3
a = 4
b = 2
print(x + y) #結果為 7
print(x - y) #結果為2
print(x * y) #結果為15
print(x / y) #結果為1.6666666666666667 不同的機器浮點數的結果可能不同
print(x // y) #向下去整結果為1
print(x % y) #兩數相除取餘結果為2
print(x**y) #5的3次冪結果為125
print(a / b) #結果為浮點數2.0
print(a % b)#取餘結果為0
print(a // b)#取整結果為2
運算子表示式
說明==
a==b
等於,比較物件是否相等
或a !=b
a <>b
不等於,比較兩個物件是否不相等
>
a > b
大於,比較a是否大於b
<
a < b
小於,比較a是否小於b
>=
a>=b
大於等於,比較a是否大於或者等於b
<=
a<=b
小於等於,比較a是否小於或者等於b
a = 4邏輯運算子與邏輯運算表示式b = 2
c = 2
print(a == b) #false
print(a != b) #true
print(a <> b) #true
print(a > b) #true
print(a < b) #false
print(a >= b) #true
print(c <= b) #true
運算子表示式
說明and
a and b
邏輯與,當a為true時才計算b
ora or b
邏輯或,當a為false時才計算b
notnot a
邏輯非
a = 4python的算術表示式具有結合性和優先性。結合性是指表示式按照從左到右、先乘除後加減的原則進行計算。b = 2
c = 0
print(a>b and b>c) #a>b為true繼續計算b>c,b>c也為true則結果為true
print(a>b and bb為true繼續計算cc結果為false則結果為false
print(a>b or cb為true則不繼續計算c
位運算子
按位運算子是把數字看作二進位制來進行計算的。
運算子表示式說明&
a & b
按位與運算子:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0
|a | b
按位或運算子:只要對應的二個二進位有乙個為1時,結果位就為1
^a ^ b
按位異或運算子:當兩對應的二進位相異時,結果為1~~a
按位取反運算子:對資料的每個二進位制位取反,即把1變為0,把0變為1
<<
a<<2
左移動運算子:運算數的各二進位全部左移若干位,由"<
>>
a>>2
右移動運算子:把">>"左邊的運算數的各二進位全部右移若干位,">>"右邊的數指定移動的位數
運算操作
結果a & b
0011 1100
& 0000 1101
0000 1100
a | b
0011 1100
| 0000 1101
0011 1101
a ^ b
0011 1100
^ 0000 1101
0011 0001
~a~ 0011 1100
1100 0011
-61有符號二進位制數的補碼
a << 2
0011 1100 -> 1111 0000
a >>2
0011 1100-> 0000 1111
賦值運算子
運算子表示式說明=
c=a + b
簡單賦值運算子, 將 a + b 的運算結果賦值為 c
+=c +=a
-=c -=a
*=c *=a
乘法賦值運算子 c *= a 等效於 c = c * a
/=c /=a
除法賦值運算子 c /= a 等效於 c = c / a
%=c %=a
取模賦值運算子 c %= a 等效於 c = c % a
//=c //=a
**=c **=a
取整除賦值運算子 c //= a 等效於 c = c // a
成員運算子,測試例項中包含了一系列的成員,包括字串,列表或元組。
運算子表示式
說明in
a in b
如果在指定的序列中找到值返回 true,否則返回 false。
not in
a not in b
如果在指定的序列中沒有找到值返回 true,否則返回 false。
a=4c=0list = [1,2,3,4,5]
if (a in list):
print("%d is in list:%r"%(a,list))
if (c not in list):
print("%d is not in list: %r"%(c,list))
python運算子優先順序(由高到低)
** 指數 (最高優先順序)
~ + - 按位翻轉, 一元加號和減號 (正負號)
* / % // 乘,除,取模和取整除
+ - 加法減法
>> << 右移,左移運算子
& 位 'and'
^ | 位運算子
<= < > >= 比較運算子
<> == != 等於運算子
= %= /= //= -= += *= **= 賦值運算子
is is not 身份運算子
in not in 成員運算子
not or and 邏輯運算子
另外,小括號可以改變優先順序,有()的情況優先計算()中的表示式。
中綴表示式轉字尾表示式 python
這是之前資料結構學過的知識,現在忘了複習一下,如果有小夥伴對這方面的知識忘了的話我建議看這篇部落格,講的非常詳細,我這裡主要講一下用 實現的思路 初始乙個存放結果的列表 result和存放操作符的棧op stack 從前往後遍歷中綴表示式,處理一下四種情況 為數字 則直接新增到result後面 為 ...
c js正規表示式集合
c 正規表示式小結 只能輸入數字 1 只能輸入n位的數字 d 只能輸入至少n位的數字 d 只能輸入m n位的數字 d 只能輸入零和非零開頭的數字 0 1 9 0 9 只能輸入有兩位小數的正實數 2 0 9 只能輸入有1 3位小數的正實數 3 0 9 只能輸入非零的正整數 1 9 0 9 只能輸入非零...
表示式 表示式樹 表示式求值
總時間限制 1000ms 記憶體限制 65535kb 描述 眾所周知,任何乙個表示式,都可以用一棵表示式樹來表示。例如,表示式a b c,可以表示為如下的表示式樹 a b c 現在,給你乙個中綴表示式,這個中綴表示式用變數來表示 不含數字 請你將這個中綴表示式用表示式二叉樹的形式輸出出來。輸入輸入分...