Python中的運算符和條件循環(huán)語句

運算符

1. 算術(shù)運算符

以下假設(shè)變量a為9,變量b為7:

運算符 描述 實例
+ 加 - 兩個對象相加 a + b 輸出結(jié)果 16
- 減 - 得到負數(shù)或是一個數(shù)減去另一個數(shù) a - b 輸出結(jié)果 -2
* 乘 - 兩個數(shù)相乘或是返回一個被重復若干次的字符串 a * b 輸出結(jié)果 63
/ 除 - x除以y a / b 輸出結(jié)果 1.2857142857142858
% 取模 - 返回除法的余數(shù) a % b 輸出結(jié)果 2
** 冪 - 返回x的y次冪 2**3, 輸出結(jié)果 8
// 取整除 - 返回商的整數(shù)部分 9//2 輸出結(jié)果 4 , 9.0//2.0 輸出結(jié)果 4.0

2. 比較運算符

以下假設(shè)變量a為10,變量b為20:

運算符 描述 實例
== 等于 - 比較對象是否相等 (a == b) 返回 False。
!= 不等于 - 比較兩個對象是否不相等 (a != b) 返回 true.
<> 不等于 - 比較兩個對象是否不相等 (a <> b) 返回 true。這個運算符類似 != 。
> 大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。注意,這些變量名的大寫。 (a < b) 返回 true。
>= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true。

3. 賦值運算符

以下假設(shè)變量a為10,變量b為20:

運算符 描述 實例
= 簡單的賦值運算符 c = a + b 將 a + b 的運算結(jié)果賦值為 c
+= 加法賦值運算符 c += a 等效于 c = c + a
-= 減法賦值運算符 c -= a 等效于 c = c - a
*= 乘法賦值運算符 c *= a 等效于 c = c * a
/= 除法賦值運算符 c /= a 等效于 c = c / a
%= 取模賦值運算符 c %= a 等效于 c = c % a
**= 冪賦值運算符 c **= a 等效于 c = c ** a
//= 取整除賦值運算符 c //= a 等效于 c = c // a

以上這三類基本和其他語言的運算符沒什么區(qū)別, 也沒有什么地方是需要敲黑板的, 下面介紹的僵尸Python中比較特殊的運算符了

4. 位運算符

按位運算符是把數(shù)字看作二進制來進行計算的。Python中的按位運算法則如下:

運算符 描述 實例
& 按位與運算符 (a & b) 輸出結(jié)果 12 ,二進制解釋: 0000 1100
^ 按位異或運算符 (a ^ b) 輸出結(jié)果 49 ,二進制解釋: 0011 0001
~ 按位取反運算符 (~a ) 輸出結(jié)果 -61 ,二進制解釋: 1100 0011, 在一個有符號二進制數(shù)的補碼形式。
<< 左移動運算符 a << 2 輸出結(jié)果 240 ,二進制解釋: 1111 0000
>> 右移動運算符 a >> 2 輸出結(jié)果 15 ,二進制解釋: 0000 1111

該運算符的運算方法是: 先將數(shù)字轉(zhuǎn)成二進制, 再把二進制的每一位數(shù)字進行以上運算符運算, 最后再把結(jié)果轉(zhuǎn)成十進制輸出, 測試如下

# 5.位運算符
a = 60            # 60 = 0011 1100
b = 13            # 13 = 0000 1101
c = 0

# 運算和輸出結(jié)果
c = a & b        # 12 = 0000 1100
c = a | b        # 61 = 0011 1101
c = a ^ b        # 49 = 0011 0001
c = ~a           # -61 = 1100 0011
c = a << 2       # 240 = 1111 0000
c = a >> 2       # 15 = 0000 1111

5. 邏輯運算符

Python語言支持邏輯運算符,但是與其他語言(Swift)中的邏輯運算符(&, |, !)不同, 注意區(qū)別位運算符, 使用時不要用錯了, 以下假設(shè)變量 a 為 10, b為 20:

運算符 描述 實例
and x and y 布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值 (a and b) 返回 20。
or x or y 布爾"或" - 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值 (a or b) 返回 10。
not not x 布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True not(a and b) 返回 False

6. 成員運算符

Python支持成員運算符, 支持字符串,列表或元組

運算符 描述 實例
in 如果在指定的序列中找到值返回True,否則返回False x 在 y序列中 , 如果x在y序列中返回True。
not in 如果在指定的序列中沒有找到值返回True,否則返回False x 不在 y序列中 , 如果x不在y序列中返回True。

測試示例:

# 成員運算符
list1 = [1, 2, 3, 4, 5, 6]

print(3 in list1)         # True
print(10 in list1)        # False
print(10 not in list1)    # True


str1 = 'titanjun'
print('jun' in str1)       # True

7. 身份運算符

身份運算符用于比較兩個對象的存儲單元

運算符 描述 實例
is is是判斷兩個標識符是不是引用自一個對象 x is y, 如果 id(x) 等于 id(y) , is 返回結(jié)果 1
is not is not是判斷兩個標識符是不是引用自不同對象 x is not y, 如果 id(x) 不等于 id(y). is not 返回結(jié)果 1

8. Python運算符優(yōu)先級

運算符 描述
** 指數(shù) (最高優(yōu)先級)
~, +, - 按位翻轉(zhuǎn), 一元加號和減號 (最后兩個的方法名為 +@ 和 -@)
*, /, %, // 乘,除,取模和取整除
+, - 加法減法
>>, << 右移,左移運算符
& 位 'AND'
`^, ` 位運算符
<=, <, >, >= 比較運算符
<>, ==, != 等于運算符
=, %=, /=, //=, -=, +=, *=, **= 賦值運算符
is, is not 身份運算符
in, not in 成員運算符
not, or, and 邏輯運算符

以下表格列出了從最高到最低優(yōu)先級的所有運算符:

運算符 描述
** 指數(shù) (最高優(yōu)先級)
~, +, - 按位翻轉(zhuǎn), 一元加號和減號 (最后兩個的方法名為 +@ 和 -@)
*, /, %, // 乘,除,取模和取整除
+, - 加法減法
>>, << 右移,左移運算符
& 位 'AND'
`^, ` 位運算符
<=, <, >, >= 比較運算符
<>, ==, != 等于運算符
=, %=, /=, //=, -=, +=, *=, **= 賦值運算符
is, is not 身份運算符
in, not in 成員運算符
not, or, and 邏輯運算符

二. 條件和循環(huán)語句

  • Python程序語言指定任何非0和非空null值為true,0 或者 nullfalse
  • 由于 python 并不支持 switch 語句,所以多個條件判斷,只能用 elif 來實現(xiàn)

1. if語句

  • if語句的使用和其他語言沒什么區(qū)別, 主要是格式不一樣, 沒有大括號, 主要時注意縮進
if 判斷條件:
    執(zhí)行語句……
elif 判斷條件:
    執(zhí)行語句……
else:
    執(zhí)行語句……

使用示例:

# if-else語句
if 2 > 3:
    print('真的')
else:
    print("假的")

# if-elif語句
a = 3
if (a == 1):
    print(1)
elif (a == 2):
    print(2)
else:
    print(3)

2. While循環(huán)語句

與C語言中用法一樣, 這里就不在贅述了

3. for 循環(huán)語句

Pythonfor循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串。

# for循環(huán)
# 輸出每一個字符
for s in "char":
    print(s)

# 使用索引
list2 = [5, 2, 4]
for index in range(len(list2)):
    print(list2[index])
  • 其中, 函數(shù) len() 返回列表的長度,即元素的個數(shù)。 range返回一個序列的數(shù), 這個后面會說到
  • python 中,for … else 表示for 中的語句和普通的沒有區(qū)別,else 中的語句會在循環(huán)正常執(zhí)行完(即 for 不是通過 break 跳出而中斷的)的情況下執(zhí)行,while … else 也是一樣。
  • 對于Python語言, 我也是小白, 正在努力學習中, 文中如有不足之處, 還望多多指教
  • 測試代碼詳見 GitHub地址
  • 后期會持續(xù)更新相關(guān)文章
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容