運算符和表達式
- 由變量、常量和運算符組成的式子。
- 閱讀表達式從功能和值兩方面看。
算術運算符和算術運算表達式:
算術運算符:+(加)、-(減)、*(乘)、/(除)、%(取模)、**(求冪)、//(取整)
算術運算表達式:1+1、2*3、a/3、……
- 功能:進行相關符號的數學運算,不會改變變量的值。
- 值:相關的數學運算結果。
賦值運算符和賦值運算表達式:
- 賦值運算符 =
- 賦值運算表達式,格式:變量 = 表達式
- 功能:計算了等號右側“表達式”的值,並賦值給等號左側的變量。
- 值:賦值結束後變量的值。
複合運算符:
- +=、-=、*=、/=、%=、**=、//=
位運算符:
- 把數字看作二進制數來進行計算。
- &(按位與運算符):相應的位數都爲1,則該位的結果是1,否則爲0。
- |(按位或運算符):相應的位數有一個爲1,結果即爲1,否則爲0。
- ^(按位異或運算符):相應的位數相異時,結果爲1,否則爲0。
- ~(按位取反運算符):每個二進制數據位取反。
- <<(左移動運算符):每個二級制數據位全部左移若干位,高位丟棄,低位補0。
- >>(右移動運算符):每個二級制數據位全部右移若干位,高位補0,低位丟棄。
關係運算符和關係運算表達式:
關係運算符:==、!=、>、<、>=、<=
關係運算表達式:
- 格式:表達式1 關係運算符 表達式2
- 功能:計算“表達式1”和“表達式2”的值。
- 值:如果關係成立,整個關係運算表達式的值爲真,否則爲假。
邏輯運算符和邏輯運算表達式:
邏輯與
- 運算符:and
- 表達式:表達式1 and 表達式2
- 值【有一個爲假即爲假】:
- 如果表達式1、2的值均爲真,整體邏輯與運算表達式的值爲真。
- 如果表達式1的值爲真、2的值均爲假,整體邏輯與運算表達式的值爲假。
- 如果表達式1的值爲假、2的值均爲真,整體邏輯與運算表達式的值爲假。
- 如果表達式1的值爲假、2的值均爲假,整體邏輯與運算表達式的值爲假。
短路原則:
表達式1 and 表達式2 and 表達式3 and ...... and 表達式n
如果表達式1結果爲假,即不計算機不在計算剩餘表達式。
邏輯或
- 運算符:or
- 表達式:表達式1 or 表達式2
- 值【有一個爲真即爲真】
- 如果表達式1、2的值均爲真,整體邏輯與運算表達式的值爲真。
- 如果表達式1的值爲真、2的值均爲假,整體邏輯與運算表達式的值爲真。
- 如果表達式1的值爲假、2的值均爲真,整體邏輯與運算表達式的值爲真。
- 如果表達式1的值爲假、2的值均爲假,整體邏輯與運算表達式的值爲假。
短路原則:
表達式1 and 表達式2 and 表達式3 and ...... and 表達式n
如果表達式1結果爲真,即不計算機不在計算剩餘表達式。
邏輯非
- 運算符:not
- 表達式:not 表達式
- 值【顛倒黑白】
- 如果表達式的值爲真,整體邏輯非運算符表達式的值爲假。
- 如果表達式的值爲假,整體邏輯非運算符表達式的值爲真。
成員運算符
- 運算符:in、not in
- 值:
- in:如果在指定的序列中找到值返回True,否則返回False。
- not in:如果在指定的序列中沒有 找到值返回True,否則返回False。
身份運算符
- is:判斷兩個標識符是不是引用同一個對象。
- is not:判斷兩個標識符是不是引用不同的對象。
運算符優先級
- **(求冪)
- ~(按位取反) +(正號、一元加) -(負號、一元減)
- *(乘) /(除) %(取模) //(取整)
- +(加) -(減)
- >>(右移動) <<(左移動)
- &(按位與)
- ^(按位異或) |(按位或)
- <=(小於等於) <(小於) >(大於) >=(大於等於)
- ==(等於) !=(不等於)
- 賦值運算符
- 身份運算符
- 成員運算符
- 邏輯運算符
條件控制語句
if語句
- 格式:
if 表達式:
語句
邏輯:當程序執行到if語句,首先計算“表達式”的值,
- 如果“表達式”的值爲真,那麼就執行if下的“語句”。
- 如果“表達式”的值爲假,則跳過整個if語句繼續向下執行。
何爲真假:
- 假:0、0.0、”、None、False
- 真:除了假的情況均爲真
if-else語句
- 格式:
if 表達式:
語句1
else:
語句2
- 邏輯:當程序執行到if-else語句時,首先計算“表達式”的值,
- 如果“表達式”的值爲真,則執行“語句1”。執行完“語句1”跳出整個if-else語句。
- 如果“表達式”的值爲假,則執行“語句2”。執行完“語句2”跳出整個if-else語句。
if-elif-else語句
- 格式:
if 表達式1:
語句1
elif 表達式2:
語句2
...
elif 表達式n:
語句n
else:
語句m
邏輯:當程序執行到if-elif-if語句時,首先計算“表達式1”的值,
- 如果“表達式1”的值爲真,則執行“語句1”,執行完“語句1”,則跳過整個if-elif-else語句。
- 如果“表達式1”的值爲假,計算“表達式2”的值,如此下去直到某個表達式的值爲真才停止,如果沒有一個表達式爲真,且有else,則執行“語句m”。
每個elif都是對它上面所有表達式的否定