经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
Python运算符的使用简单介绍
来源:jb51  时间:2022/8/3 12:49:40  对本文有异议

1、算术运算符

Python 中常用运算符:

运算符说明实例结果
+22.4 + 1537.4
-4.56 - 0.564
*5 * 315
/除法(和数学中的规则一样)8 / 24
//整除(只保留商的整数部分)7 // 23
%取模,即返回除法的余数7 % 21
**次方运算,即返回 x 的 y 次方2 ** 416,即 2^4

+加法运算符:

  1. m = 10
  2. n = 90
  3. sum1 = m + n
  4. print(sum1)
  5. #当+用于字符串时,还可以拼接字符串
  6. name = "方唐镜"
  7. url = "江苏苏州"
  8. age = 18
  9. info = name + "的住址是" + url + ",已经" + str(age) + "岁了。"
  10. print(info)

执行结果:

100
方唐镜的住址是江苏苏州,已经18岁了。

-减法运算符:

  1. m = 100
  2. n = 97
  3. sum1 = m - n
  4. print(sum1)
  5. x = 45
  6. y = -x
  7. print(y)

执行结果:

3
-45

*乘法运算符:

  1. n = 4 * 25
  2. m = 34.5 * 6
  3. print(n, m)
  4. #将n个字符串连接
  5. str = "hello "
  6. print(str * 4)

执行结果:

100 207.0
hello hello hello hello 

/ 和 // 除法运算符:

  1. print("--------整数不能除尽-----------")
  2. print("24/7 =", 24/7)
  3. print("24//7 =", 24//7)
  4. print("24.0//7 =", 24.0//7)
  5. print("--------整数能除尽-----------")
  6. print("25/5 =", 25/5)
  7. print("25//5 =", 25//5)
  8. print("25.0//5 =", 25.0//5)
  9. print("--------小数除法-----------")
  10. print("12.4/3.5 =", 12.4/3.5)
  11. print("12.4//3.5 =", 12.4//3.5)

执行结果:

  • /的计算结果返回的总是小数,不管是否能除尽,也不管参与运算的是整数还是小数。
  • 当有小数参与运算时,//返回的结果才是小数,否则就是整数。
  1. --------整数除不尽-----------
  2. 24/7 = 3.4285714285714284
  3. 24//7 = 3
  4. 24.0//7 = 3.0
  5. --------整数能除尽-----------
  6. 25/5 = 5.0
  7. 25//5 = 5
  8. 25.0//5 = 5.0
  9. --------小数除法-----------
  10. 12.4/3.5 = 3.542857142857143
  11. 12.4//3.5 = 3.0

%求余运算符:

  1. print("-----整数求余-----")
  2. print("7%2 =", 7 % 2)
  3. print("7%-2 =", 7 % -2)
  4. print("-----小数求余-----")
  5. print("7.7%2.2 =", 7.7 % 2.2)
  6. print("-7.7%2.2 =", -7.7 % 2.2)
  7. print("-7.7%-2.2 =", -7.7 % -2.2)
  8. print("---整数和小数运算---")
  9. print("23.4%5 =", 23.4 % 5)
  10. print("23%4.5 =", 23 % 4.5)
  11. print("23.4%-5 =", 23.4 % -5)
  12. print("-23%4.5 =", -23 % 4.5)
  13. print("-23%-4.5 =", -23 % -4.5)

执行结果:

  • 求余运算本质还是是除运算,所以第二个数字不能是 0,不然会报 ZeroDivisionError 错误。
  • 只有当第二个数字是负数时,求余的结果才是负数。
  • 求余运算两边的数字都是整数时,求余的结果也是整数;但是只要有一个数字是小数,求余的结果就是小数。
  1. -----整数求余-----
  2. 7%2 = 1
  3. 7%-2 = -1
  4. -----小数求余-----
  5. 7.7%2.2 = 1.0999999999999996
  6. -7.7%2.2 = 1.1000000000000005
  7. -7.7%-2.2 = -1.0999999999999996
  8. ---整数和小数运算---
  9. 23.4%5 = 3.3999999999999986
  10. 23%4.5 = 0.5
  11. 23.4%-5 = -1.6000000000000014
  12. -23%4.5 = 4.0
  13. -23%-4.5 = -0.5

**次方运算符:

  1. print('----次方运算----')
  2. print('3**2 =', 3**2)
  3. print('2**5 =', 2**5)
  4. print('----开方运算----')
  5. print('9**(1/2) =', 9**(1/2))
  6. print('32**(1/5) =', 32**(1/5))

执行结果:

  1. ----次方运算----
  2. 3**2 = 9
  3. 2**5 = 32
  4. ----开方运算----
  5. 9**(1/2) = 3.0
  6. 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 指的是右移的位数
  1. a = 15
  2. b = 6
  3. c = a + b
  4. print("c 的值为:", c)
  5. c += a
  6. print("c 的值为:", c)
  7. c *= a
  8. print("c 的值为:", c)
  9. c /= a
  10. print("c 的值为:", c)
  11. c %= a
  12. print("c 的值为:", c)
  13. c **= a
  14. print("c 的值为:", c)
  15. c //= a
  16. print("c 的值为:", c)

执行结果:

c 的值为: 21
c 的值为: 36
c 的值为: 540
c 的值为: 36.0
c 的值为: 6.0
c 的值为: 470184984576.0
c 的值为: 31345665638.0

连续赋值运算:

将赋值表达式的值再赋值给另外一个变量,这就构成了连续赋值,如:

  1. 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。

比较运算符的使用实例:

  1. print("89是否大于100:", 8 > 100)
  2. print("24*5是否大于等于76:", 24*5 >= 80)
  3. print("45.6是否等于45.6:", 45.6 == 45.6)
  4. print("45是否等于45.0:", 45 == 45.0)
  5. print("False是否小于True:", False < True)
  6. print("True是否等于True:", True == True)

执行结果:

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当 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位结果
000
010
100
111

实例:

  1. print(12 & 5)

执行结果:

4

12 & 5二进制位进行&与运算过程如下:

  1. 0000 1100
  2. & 0000 0101
  3. -------------
  4. 0000 0100

按位或 |

按位或 | 运算符规则:只有两个都是0结果才为0,其余情况都为1

第一个Bit位第二个Bit位结果
000
011
101
111

实例:

  1. print(12 | 5)

执行结果:

13

12 | 5二进制位进行|或运算过程如下:

  1. 0000 1100
  2. | 0000 0101
  3. -------------
  4. 0000 1101

按位异或^

按位异或^ 运算符的规则:两个值相同结果为0,不同结果为1

第一个Bit位第二个Bit位结果
000
011
101
110

实例:

  1. print(12 ^ 5)

执行结果:

9

12 ^ 5二进制位进行^或运算过程如下:

  1. 0000 1100
  2. ^ 0000 0101
  3. -------------
  4. 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

到此这篇关于Python运算符的使用简单介绍的文章就介绍到这了,更多相关Python运算符 内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号