这篇文章主要介绍了Python运算符的使用简单介绍,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下!
1、算术运算符
Python 中常用运算符:
运算符说明实例结果
+加22.4 + 1537.4-减4.56 - 0.564*乘5 * 315/除法(和数学中的规则一样)8 / 24//整除(只保留商的整数部分)7 // 23%取模,即返回除法的余数7 % 21**次方运算,即返回 x 的 y 次方2 ** 416,即 2^4
+加法运算符:
m = 10 n = 90 sum1 = m + n print(sum1) #当+用于字符串时,还可以拼接字符串 name = "方唐镜" url = "江苏苏州" age = 18 info = name + "的住址是" + url + ",已经" + str(age) + "岁了。" print(info)
执行结果:
100方唐镜的住址是江苏苏州,已经18岁了。
-减法运算符:
m = 100 n = 97 sum1 = m - n print(sum1) x = 45 y = -x print(y)
执行结果:
3-45
*乘法运算符:
n = 4 * 25 m = 34.5 * 6 print(n, m) #将n个字符串连接 str = "hello " print(str * 4)
执行结果:
100 207.0hello hello hello hello
/ 和 // 除法运算符:
print("--------整数不能除尽-----------") print("24/7 =", 24/7) print("24//7 =", 24//7) print("24.0//7 =", 24.0//7) print("--------整数能除尽-----------") print("25/5 =", 25/5) print("25//5 =", 25//5) print("25.0//5 =", 25.0//5) print("--------小数除法-----------") print("12.4/3.5 =", 12.4/3.5) print("12.4//3.5 =", 12.4//3.5)
执行结果:
/
的计算结果返回的总是小数,不管是否能除尽,也不管参与运算的是整数还是小数。当有小数参与运算时,//
返回的结果才是小数,否则就是整数。
--------整数除不尽----------- 24/7 = 3.4285714285714284 24//7 = 3 24.0//7 = 3.0 --------整数能除尽----------- 25/5 = 5.0 25//5 = 5 25.0//5 = 5.0 --------小数除法----------- 12.4/3.5 = 3.542857142857143 12.4//3.5 = 3.0
%求余运算符:
print("-----整数求余-----") print("7%2 =", 7 % 2) print("7%-2 =", 7 % -2) print("-----小数求余-----") 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("---整数和小数运算---") 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)
执行结果:
求余运算本质还是是除运算,所以第二个数字不能是 0,不然会报 ZeroDivisionError 错误。只有当第二个数字是负数时,求余的结果才是负数。求余运算两边的数字都是整数时,求余的结果也是整数;但是只要有一个数字是小数,求余的结果就是小数。
-----整数求余----- 7%2 = 1 7%-2 = -1 -----小数求余----- 7.7%2.2 = 1.0999999999999996 -7.7%2.2 = 1.1000000000000005 -7.7%-2.2 = -1.0999999999999996 ---整数和小数运算--- 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))
执行结果:
----次方运算---- 3**2 = 9 2**5 = 32 ----开方运算---- 9**(1/2) = 3.0 32**(1/5) = 2.0
2、赋值运算符
扩展赋值运算符:
运算符说 明用法举例等价形式
=最基本的赋值运算x = yx = y+=加赋值x += yx = x + y-=减赋值x -= yx = x - y*=乘赋值x *= yx = x * y/=除赋值x /= yx = x / y%=取余数赋值x %= yx = x % y**=幂赋值x **= yx = x ** y//=取整数赋值x //= yx = x // y&=按位与赋值x &= yx = x & y|=按位或赋值x |= yx = x | y^=按位异或赋值x ^= yx = x ^ y<<=左移赋值x <<= yx = x << y,这里的 y 指的是左移的位数>>=右移赋值x >>= yx = x >> y,这里的 y 指的是右移的位数
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)
执行结果:
c 的值为: 21c 的值为: 36c 的值为: 540c 的值为: 36.0c 的值为: 6.0c 的值为: 470184984576.0c 的值为: 31345665638.0
连续赋值运算:
将赋值表达式的值再赋值给另外一个变量,这就构成了连续赋值,如:
a = b = c = 10
c = 100 这个子表达式的值是 10,b = c = 10 表示将 c = 10 的值赋给 b,因此 b 的值也是 10。以此类推,a 的值也是 10。
所以a、b、c 三个变量的值都是 10。
3、比较运算符
比较运算符说明
大于,如果>
前面的值大于后面的值,则返回 True,否则返回 False。<小于,如果<
前面的值小于后面的值,则返回 True,否则返回 False。==等于,如果==
两边的值相等,则返回 True,否则返回 False。>=大于等于(等价于数学中的 ≥),如果>=
前面的值大于或者等于后面的值,则返回 True,否则返回 False。<=小于等于(等价于数学中的 ≤),如果<=
前面的值小于或者等于后面的值,则返回 True,否则返回 False。!=不等于(等价于数学中的 ≠),如果!=
两边的值不相等,则返回 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)
执行结果:
89是否大于100: False24*5是否大于等于76: True45.6是否等于45.6: True45是否等于45.0: TrueFalse是否小于True: TrueTrue是否等于True: True
4、逻辑运算符
运算符含义基本格式说明
and逻辑与运算,等价于“且”a and b当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。or逻辑或运算,等价于“或”a or b当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。not逻辑非运算,等价于“非”not a如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。
对于 and 逻辑与运算,两边的值都为真最终结果才为真,但是只要其中有一个值为假,那么最终结果就是假:
如果左边表达式的值为假,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,最终结果都是假,此时 and 会把左边表达式的值作为最终结果。如果左边表达式的值为真,那么最终值是不能确定的,and 会继续计算右边表达式的值,并将右边表达式的值作为最终结果
对于 or 逻辑或运算,两边的值都为假最终结果才为假,只要其中有一个值为真,那么最终结果就是真:
如果左边表达式的值为真,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,最终结果都是真,此时 or 会把左边表达式的值作为最终结果。如果左边表达式的值为假,那么最终值是不能确定的,or 会继续计算右边表达式的值,并将右边表达式的值作为最终结果。
5、位运算符
位运算符说明使用形式举 例
&按位与a & b4 & 5|按位或a | b4 | 5按位异或a ^ b4 ^ 5~按位取反~a~4<<按位左移a << b4 << 2,表示整数 4 按位左移 2 位>>按位右移a >> b4 >> 2,表示整数 4 按位右移 2 位
按位与&
按位与& 运算符规则:只有两个都是1结果才为1,其余情况都为0
第一个Bit位第二个Bit位结果
000010100111
实例:
print(12 & 5)
执行结果:
4
12 & 5二进制位进行&
与运算过程如下:
0000 1100 & 0000 0101 ------------- 0000 0100
按位或 |
按位或 | 运算符规则:只有两个都是0结果才为0,其余情况都为1
第一个Bit位第二个Bit位结果
000011101111
实例:
print(12 | 5)
执行结果:
13
12 | 5二进制位进行|
或运算过程如下:
0000 1100 | 0000 0101 ------------- 0000 1101
按位异或^
按位异或^ 运算符的规则:两个值相同结果为0,不同结果为1
第一个Bit位第二个Bit位结果
000011101110
实例:
print(12 ^ 5)
执行结果:
9
12 ^ 5二进制位进行^
或运算过程如下:
0000 1100 ^ 0000 0101 ------------- 0000 1001
6、运算符优先级和结合性
结合性:先执行左边的叫左结合性,先执行右边的叫右结合性
从上到下优先级逐渐减低:
运算符说明Python运算符结合性优先级顺序
小括号( )无高索引运算符x[i] 或 x[i1: i2 [:i3]]左︿属性访问x.attribute左|乘方**右|按位取反~右|符号运算符+(正号)、-(负号)右|乘除*、/、//、%左|加减+、-左|位移>>、<<左|按位与&右|按位异或左|按位或|左|比较运算符==、!=、>、>=、<、<=左|is 运算符is、is not左|in 运算符in、not in左|逻辑非not右|逻辑与and左|逻辑或or左|逗号运算符exp1, exp2左低