软件测试|教你拿捏Python运算符(一)

举报
霍格沃兹测试开发 发表于 2023/02/24 12:53:59 2023/02/24
【摘要】 前言什么是运算符?举个简单的例子 1 +2 = 3 。 例子中,1 和 2 被称为操作数,+ 称为运算符。Python支持如下运算符:算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符三目运算符运算符优先级本篇文章我们将主要对算术运算符进行介绍。 算术运算符算术运算符就是我们常用的加减乘除的运算符,算术运算符列表如下:运算符描述+加-减*乘/除%返回除法的余数**...

前言

什么是运算符?
举个简单的例子 1 +2 = 3 。 例子中,1 和 2 被称为操作数,+ 称为运算符。

Python支持如下运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符
  • 三目运算符
  • 运算符优先级

本篇文章我们将主要对算术运算符进行介绍。

算术运算符

算术运算符就是我们常用的加减乘除的运算符,算术运算符列表如下:

运算符 描述
+
-
*
/
% 返回除法的余数
** 幂运算
// 取整除 - 返回商的整数部分(向下取整)

算术运算符示例:

加减运算符示例

# 加减运算符
print(1 + 2)   
print(5 - 4)
print(1 + 0.5)    #1.5 返回类型为float
print(3 - 2.0)    #1.0,只要参与运算的有浮点数,返回类型为float
-------------------------------------------------------
输出结果如下:
3
1
1.5
1.0

乘法幂运算示例,与数学计算顺序一致

print(3 * 3)
print(2 ** 4)
print(2.5 * 3)
print(50 - 5 * 6)  # 先算乘法,再算减法
print((50 - 5 * 6) / 4)  # 有括号,括号优先
print(10 - 2 * 3)  # 先算乘法,在计算减法,计算顺序一样

# *跟字符串做搭配
print('------------------------------------------')
print('-' * 10)  # 打印10个 -

-------------------------------------------------
输出结果如下:
9
16
7.5
20
5.0
4
------------------------------------------
----------

除法运算示例

print(10 / 2)      # 除法运算返回的都是浮点型
print(6 / 2)       #/: 除以
print(20 / 6)      # 计算机(二进制010101)二进制的有穷性
-----------------------------------------
输出结果如下:
5.0
3.0
3.3333333333333335 

整除运算,向下取整示例,尤其需要注意

print(11 // 4)     # 整除,向下取整,比实际结果要小的整数,输出结果:2
print(9 // 2)     # 4
print(11 // -3)   # 输出-4,和上代码一样,向下取整,-4比-3小,故输出-4
print(10 // 3)    #//:整除 向下取整 3.6666666666666665 取3
print(-11 / 3)
print(-11 // 3)   #-->向下取整
--------------------------------------
输出结果如下:
2
4
-4
3
-3.6666666666666665
-4

取余运算,计算出模,返回除法余数

print(10 % 3)    # %:模
print(10 % 3)      #%:模,取整10//3=3余1    3*3=9   10-9=1
print(-11 % 3)     # -11//3=-4     -4*3=-12    -11-(-12)=1
---------------------------------------
输出结果如下;
1
1
1

商和余数,返回商和余数组成的一个元组

x = 11
y = 3
print(divmod(x,y))       #divmod(x,y)-->(x//y,x%y)-->(商,余数)
print(type(divmod(x, y)))
------------------------------
输出结果如下:
(3, 2)
<class 'tuple'>

常见问题

有的时候我们会遇到这样的问题,计算0.1+0.2的时候,我们得到的结果是0.30000000000000004而不是0.3,出现这种问题的原因是计算机转换为二进制,结果以十进制呈现,计算时出现的精确误差,那我们要怎么去解决这个问题呢?Python提供了内置的decimal模块来解决这个问题,具体使用如下:

from decimal import Decimal     #从decimal模块中导入Decimal类
print(Decimal('0.1')+Decimal('0.2'))  # 0.3
--------------------------------------------------------------------
输出结果如下:
0.3

总结

本文主要介绍了Python的算术运算符,Python的算术原则与我们日常的数学原则一致,但是我们需要注意的是除法返回的都是浮点数类型,不论是否能整除,都是如此,还有就是除法取模的过程,需要留意。下一篇文章我们将介绍Python的比较运算符。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。