Python運算符的使用簡單介紹
1、算術(shù)運算符
Python 中常用運算符:
| 運算符 | 說明 | 實例 | 結(jié)果 |
|---|---|---|---|
| + | 加 | 22.4 + 15 | 37.4 |
| - | 減 | 4.56 - 0.56 | 4 |
| * | 乘 | 5 * 3 | 15 |
| / | 除法(和數(shù)學(xué)中的規(guī)則一樣) | 8 / 2 | 4 |
| // | 整除(只保留商的整數(shù)部分) | 7 // 2 | 3 |
| % | 取模,即返回除法的余數(shù) | 7 % 2 | 1 |
| ** | 次方運算,即返回 x 的 y 次方 | 2 ** 4 | 16,即 2^4 |
+加法運算符:
m = 10 n = 90 sum1 = m + n print(sum1) #當(dāng)+用于字符串時,還可以拼接字符串 name = "方唐鏡" url = "江蘇蘇州" age = 18 info = name + "的住址是" + url + ",已經(jīng)" + str(age) + "歲了。" print(info)
執(zhí)行結(jié)果:
100
方唐鏡的住址是江蘇蘇州,已經(jīng)18歲了。
-減法運算符:
m = 100 n = 97 sum1 = m - n print(sum1) x = 45 y = -x print(y)
執(zhí)行結(jié)果:
3
-45
*乘法運算符:
n = 4 * 25 m = 34.5 * 6 print(n, m) #將n個字符串連接 str = "hello " print(str * 4)
執(zhí)行結(jié)果:
100 207.0
hello hello hello hello
/ 和 // 除法運算符:
print("--------整數(shù)不能除盡-----------")
print("24/7 =", 24/7)
print("24//7 =", 24//7)
print("24.0//7 =", 24.0//7)
print("--------整數(shù)能除盡-----------")
print("25/5 =", 25/5)
print("25//5 =", 25//5)
print("25.0//5 =", 25.0//5)
print("--------小數(shù)除法-----------")
print("12.4/3.5 =", 12.4/3.5)
print("12.4//3.5 =", 12.4//3.5)執(zhí)行結(jié)果:
/的計算結(jié)果返回的總是小數(shù),不管是否能除盡,也不管參與運算的是整數(shù)還是小數(shù)。- 當(dāng)有小數(shù)參與運算時,
//返回的結(jié)果才是小數(shù),否則就是整數(shù)。
--------整數(shù)除不盡----------- 24/7 = 3.4285714285714284 24//7 = 3 24.0//7 = 3.0 --------整數(shù)能除盡----------- 25/5 = 5.0 25//5 = 5 25.0//5 = 5.0 --------小數(shù)除法----------- 12.4/3.5 = 3.542857142857143 12.4//3.5 = 3.0
%求余運算符:
print("-----整數(shù)求余-----")
print("7%2 =", 7 % 2)
print("7%-2 =", 7 % -2)
print("-----小數(shù)求余-----")
print("7.7%2.2 =", 7.7 % 2.2)
print("-7.7%2.2 =", -7.7 % 2.2)
print("-7.7%-2.2 =", -7.7 % -2.2)
print("---整數(shù)和小數(shù)運算---")
print("23.4%5 =", 23.4 % 5)
print("23%4.5 =", 23 % 4.5)
print("23.4%-5 =", 23.4 % -5)
print("-23%4.5 =", -23 % 4.5)
print("-23%-4.5 =", -23 % -4.5)執(zhí)行結(jié)果:
- 求余運算本質(zhì)還是是除運算,所以第二個數(shù)字不能是 0,不然會報 ZeroDivisionError 錯誤。
- 只有當(dāng)?shù)诙€數(shù)字是負(fù)數(shù)時,求余的結(jié)果才是負(fù)數(shù)。
- 求余運算兩邊的數(shù)字都是整數(shù)時,求余的結(jié)果也是整數(shù);但是只要有一個數(shù)字是小數(shù),求余的結(jié)果就是小數(shù)。
-----整數(shù)求余----- 7%2 = 1 7%-2 = -1 -----小數(shù)求余----- 7.7%2.2 = 1.0999999999999996 -7.7%2.2 = 1.1000000000000005 -7.7%-2.2 = -1.0999999999999996 ---整數(shù)和小數(shù)運算--- 23.4%5 = 3.3999999999999986 23%4.5 = 0.5 23.4%-5 = -1.6000000000000014 -23%4.5 = 4.0 -23%-4.5 = -0.5
**次方運算符:
print('----次方運算----')
print('3**2 =', 3**2)
print('2**5 =', 2**5)
print('----開方運算----')
print('9**(1/2) =', 9**(1/2))
print('32**(1/5) =', 32**(1/5))執(zhí)行結(jié)果:
----次方運算---- 3**2 = 9 2**5 = 32 ----開方運算---- 9**(1/2) = 3.0 32**(1/5) = 2.0
2、賦值運算符
擴(kuò)展賦值運算符:
| 運算符 | 說 明 | 用法舉例 | 等價形式 |
|---|---|---|---|
| = | 最基本的賦值運算 | x = y | x = y |
| += | 加賦值 | x += y | x = x + y |
| -= | 減賦值 | x -= y | x = x - y |
| *= | 乘賦值 | x *= y | x = x * y |
| /= | 除賦值 | x /= y | x = x / y |
| %= | 取余數(shù)賦值 | x %= y | x = x % y |
| **= | 冪賦值 | x **= y | x = x ** y |
| //= | 取整數(shù)賦值 | x //= y | x = x // y |
| &= | 按位與賦值 | x &= y | x = x & y |
| |= | 按位或賦值 | x |= y | x = x | y |
| ^= | 按位異或賦值 | x ^= y | x = x ^ y |
| <<= | 左移賦值 | x <<= y | x = x << y,這里的 y 指的是左移的位數(shù) |
| >>= | 右移賦值 | x >>= y | x = x >> y,這里的 y 指的是右移的位數(shù) |
a = 15
b = 6
c = a + b
print("c 的值為:", c)
c += a
print("c 的值為:", c)
c *= a
print("c 的值為:", c)
c /= a
print("c 的值為:", c)
c %= a
print("c 的值為:", c)
c **= a
print("c 的值為:", c)
c //= a
print("c 的值為:", c)執(zhí)行結(jié)果:
c 的值為: 21
c 的值為: 36
c 的值為: 540
c 的值為: 36.0
c 的值為: 6.0
c 的值為: 470184984576.0
c 的值為: 31345665638.0
連續(xù)賦值運算:
將賦值表達(dá)式的值再賦值給另外一個變量,這就構(gòu)成了連續(xù)賦值,如:
a = b = c = 10
c = 100 這個子表達(dá)式的值是 10,b = c = 10 表示將 c = 10 的值賦給 b,因此 b 的值也是 10。以此類推,a 的值也是 10。
所以a、b、c 三個變量的值都是 10。
3、比較運算符
| 比較運算符 | 說明 |
|---|---|
大于,如果>前面的值大于后面的值,則返回 True,否則返回 False。 | |
| < | 小于,如果<前面的值小于后面的值,則返回 True,否則返回 False。 |
| == | 等于,如果==兩邊的值相等,則返回 True,否則返回 False。 |
| >= | 大于等于(等價于數(shù)學(xué)中的 ≥),如果>=前面的值大于或者等于后面的值,則返回 True,否則返回 False。 |
| <= | 小于等于(等價于數(shù)學(xué)中的 ≤),如果<=前面的值小于或者等于后面的值,則返回 True,否則返回 False。 |
| != | 不等于(等價于數(shù)學(xué)中的 ≠),如果!=兩邊的值不相等,則返回 True,否則返回 False。 |
比較運算符的使用實例:
print("89是否大于100:", 8 > 100)
print("24*5是否大于等于76:", 24*5 >= 80)
print("45.6是否等于45.6:", 45.6 == 45.6)
print("45是否等于45.0:", 45 == 45.0)
print("False是否小于True:", False < True)
print("True是否等于True:", True == True)執(zhí)行結(jié)果:
89是否大于100: False
24*5是否大于等于76: True
45.6是否等于45.6: True
45是否等于45.0: True
False是否小于True: True
True是否等于True: True
4、邏輯運算符
| 運算符 | 含義 | 基本格式 | 說明 |
|---|---|---|---|
| and | 邏輯與運算,等價于“且” | a and b | 當(dāng) a 和 b 兩個表達(dá)式都為真時,a and b 的結(jié)果才為真,否則為假。 |
| or | 邏輯或運算,等價于“或” | a or b | 當(dāng) a 和 b 兩個表達(dá)式都為假時,a or b 的結(jié)果才是假,否則為真。 |
| not | 邏輯非運算,等價于“非” | not a | 如果 a 為真,那么 not a 的結(jié)果為假;如果 a 為假,那么 not a 的結(jié)果為真。相當(dāng)于對 a 取反。 |
對于 and 邏輯與運算,兩邊的值都為真最終結(jié)果才為真,但是只要其中有一個值為假,那么最終結(jié)果就是假:
- 如果左邊表達(dá)式的值為假,那么就不用計算右邊表達(dá)式的值了,因為不管右邊表達(dá)式的值是什么,最終結(jié)果都是假,此時 and 會把左邊表達(dá)式的值作為最終結(jié)果。
- 如果左邊表達(dá)式的值為真,那么最終值是不能確定的,and 會繼續(xù)計算右邊表達(dá)式的值,并將右邊表達(dá)式的值作為最終結(jié)果
對于 or 邏輯或運算,兩邊的值都為假最終結(jié)果才為假,只要其中有一個值為真,那么最終結(jié)果就是真:
- 如果左邊表達(dá)式的值為真,那么就不用計算右邊表達(dá)式的值了,因為不管右邊表達(dá)式的值是什么,最終結(jié)果都是真,此時 or 會把左邊表達(dá)式的值作為最終結(jié)果。
- 如果左邊表達(dá)式的值為假,那么最終值是不能確定的,or 會繼續(xù)計算右邊表達(dá)式的值,并將右邊表達(dá)式的值作為最終結(jié)果。
5、位運算符
| 位運算符 | 說明 | 使用形式 | 舉 例 |
|---|---|---|---|
| & | 按位與 | a & b | 4 & 5 |
| | | 按位或 | a | b | 4 | 5 |
| 按位異或 | a ^ b | 4 ^ 5 | |
| ~ | 按位取反 | ~a | ~4 |
| << | 按位左移 | a << b | 4 << 2,表示整數(shù) 4 按位左移 2 位 |
| >> | 按位右移 | a >> b | 4 >> 2,表示整數(shù) 4 按位右移 2 位 |
按位與&
按位與& 運算符規(guī)則:只有兩個都是1結(jié)果才為1,其余情況都為0
| 第一個Bit位 | 第二個Bit位 | 結(jié)果 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
實例:
print(12 & 5)
執(zhí)行結(jié)果:
4
12 & 5二進(jìn)制位進(jìn)行&與運算過程如下:
0000 1100 & 0000 0101 ------------- 0000 0100
按位或 |
按位或 | 運算符規(guī)則:只有兩個都是0結(jié)果才為0,其余情況都為1
| 第一個Bit位 | 第二個Bit位 | 結(jié)果 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
實例:
print(12 | 5)
執(zhí)行結(jié)果:
13
12 | 5二進(jìn)制位進(jìn)行|或運算過程如下:
0000 1100 | 0000 0101 ------------- 0000 1101
按位異或^
按位異或^ 運算符的規(guī)則:兩個值相同結(jié)果為0,不同結(jié)果為1
| 第一個Bit位 | 第二個Bit位 | 結(jié)果 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
實例:
print(12 ^ 5)
執(zhí)行結(jié)果:
9
12 ^ 5二進(jìn)制位進(jìn)行^或運算過程如下:
0000 1100 ^ 0000 0101 ------------- 0000 1001
6、運算符優(yōu)先級和結(jié)合性
結(jié)合性:先執(zhí)行左邊的叫左結(jié)合性,先執(zhí)行右邊的叫右結(jié)合性
從上到下優(yōu)先級逐漸減低:
| 運算符說明 | Python運算符 | 結(jié)合性 | 優(yōu)先級順序 |
|---|---|---|---|
| 小括號 | ( ) | 無 | 高 |
| 索引運算符 | x[i] 或 x[i1: i2 [:i3]] | 左 | ︿ |
| 屬性訪問 | x.attribute | 左 | | |
| 乘方 | ** | 右 | | |
| 按位取反 | ~ | 右 | | |
| 符號運算符 | +(正號)、-(負(fù)號) | 右 | | |
| 乘除 | *、/、//、% | 左 | | |
| 加減 | +、- | 左 | | |
| 位移 | >>、<< | 左 | | |
| 按位與 | & | 右 | | |
| 按位異或 | 左 | | | |
| 按位或 | | | 左 | | |
| 比較運算符 | ==、!=、>、>=、<、<= | 左 | | |
| is 運算符 | is、is not | 左 | | |
| in 運算符 | in、not in | 左 | | |
| 邏輯非 | not | 右 | | |
| 邏輯與 | and | 左 | | |
| 邏輯或 | or | 左 | | |
| 逗號運算符 | exp1, exp2 | 左 | 低 |
到此這篇關(guān)于Python運算符的使用簡單介紹的文章就介紹到這了,更多相關(guān)Python運算符 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用指定字符長度切分?jǐn)?shù)據(jù)示例
今天小編就為大家分享一篇Python使用指定字符長度切分?jǐn)?shù)據(jù)示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
使用python找出list列表中相同元素(指定元素)的所有索引
這篇文章主要給大家介紹了關(guān)于使用python找出list列表中相同元素(指定元素)的所有索引,在平時開發(fā)過程中經(jīng)常遇到需要在數(shù)據(jù)中獲取特定的元素索引的信息,需要的朋友可以參考下2023-08-08
一文帶你精通Python中*args和**kwargs的應(yīng)用技巧
如果能在Python中創(chuàng)建適應(yīng)不同場景的函數(shù),而無需每次都重寫它們,會使得操作簡潔方便,這就是*args和**kwargs的魔力所在,下面我們就來看看它們的具體一些應(yīng)用技巧吧2024-03-03
python實現(xiàn)將多個文件分配到多個文件夾的方法
今天小編就為大家分享一篇python實現(xiàn)將多個文件分配到多個文件夾的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01

