Python 的算术操作符大多数和大家知道的数学运算符一样:

+ 、一、 * 、% 、**、//

前面四个就不用介绍了,加、减、乘、除,大家都懂。不过下面要介绍的小技巧倒不是所有人都知道的。

例如,当想对一个变量本身进行算术运算的时候,是不是会觉得写a=a+1或b=b-3这类操作符特别麻烦?没错,在Python 中可以做一些简化:

>>> a=b=c=d=10

>>> a += 1

>>> b -= 3

>>> C *= 10

>>> d /= 8

>>> print(a, b,c, d)

11 7 100 1.25

如果使用过Python 2.x版本的读者可能会发现,Python3的除法变得有些不同了。

很多编程语言中,整数除法一般都是采用floor的方式,有些书籍将其直接翻译为地板除法。地板除法的概念是:计算结果取比商小的最大整型值(也就是舍弃小数,取整的意思)。

但是在这里我们发现,即使是进行整数间的除法,结果却是返回一个浮点型的精确数值,也就是Python采用真正的除法代替了地板除法。

那有些朋友不乐意了:“萝卜、青菜各有所爱,我就喜欢原来的除法,整数除以整数就应该得到一个整数!”,于是 Python的团队也为此想好了办法,就是大家看到的双斜杠,它执行的就是地板除法的操作:

>>> 3 // 2

1

>>> 3.0 // 2

1.0

注意:

使用地板除法,无论是整型还是浮点型,都将舍弃小数部分。

关于 Python3在除法运算上的改革,支持和反对的几乎各占一半。有些人支持这种做法,因为Python的除法运算从一开始的设计就是失误的,他们想要真正的除法;但有些人又不想因此修改自己的海量代码····无论怎样,这已经是板上钉钉的事情了。Python团队秉承着执着、追求完美的信念不断打造和改进Python,就这件事情本身我们就应为其点赞。

百分号(%)表示求余数的意思:

>>> 5 %2

1

>>> 4 % 2

>>> 520 % 14

2

优先级问题

当一个表达式存在多个运算符的时候,就可能会发生以下对话。

加法运算符说:“我先到的,我先计算!”

乘法运算符说:“哥我运算一次够你翻几个圈了,哥先来!”

减法运算符说:“你糊涂了,我现在被当成负号使用,没有我,你们再努力,结果也是得到相反的数!”

除法运算符这时候默默地说:“抢吧抢吧,我除以零,大家同归于尽!”

为了防止以上矛盾的出现,我们规定了运算符的优先级,当多个运算符同时出现在

一个表达式的时候,严格按照优先级规定的级别来进行运算。

先乘、除,后加、减,如有括号先运行括号里边的。没错,从小学我们就学到了运算符优先级的精髓,在编程中也是这么继承下来的。

举个例子:

-3*2+5/-2-4

相当于:

(-3)*2+5/(-4)-4

Python还有一个特殊的乘法,就是双星号(**),也称为幂运算操作符。例如3**2,星号左侧的3称为底数,右侧的2称为指数,把这样的算式称为3的2次幂。

在使用Python进行幂运算的时候,需要注意的一点是优先级问题。举个例子:

>>> -5 ** 2

-25

>>> 5 ** -2

0.04

从上面的结果可以看出,幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低。

python标准算术操作符有哪些_在python中的算术操作符相关推荐

  1. 不属于python标准库的是_《Python Cookbook(第2版)中文版》——1.10 过滤字符串中不属于指定集合的字符-阿里云开发者社区...

    本节书摘来自异步社区<Python Cookbook(第2版)中文版>一书中的第1章,第1.10节,作者[美]Alex Martelli , Anna Martelli Ravenscro ...

  2. python 3标准库道格_《PYTHON 3标准库 [美] 道格·赫尔曼》[美] 道格·赫尔曼(Doug Hellmann)著【摘要 书评 在线阅读】-苏宁易购图书...

    商品参数 作者: [美] 道格·赫尔曼(Doug Hellmann)著 出版社:机械工业出版社 出版时间:. 版次:. 印次:. 印刷时间:. 页数:. 开本:. ISBN:9787111608950 ...

  3. 5个python标准库及作用_零基础编程——Python标准库使用

    摘要 书接前文: 本文将讲解Python标准库内容,有操作系统接口os.文件路径通配符glob.命令行参数sys.正则表达式re.数学math.日期与时间.数据压缩.性能评估等,我们只需要知道有些什么 ...

  4. python基础知心得总结_【python】基础学习心得总结(一)

    本文将简单阐述一些基本的python知识点,大多是本人在学习过程中的心得体会.简单常用的编程概念和思想将不再描述.若有理解错误,还望指正. 一.python运行,调试 python和相关软件可以在官网 ...

  5. python文本结构化处理_在Python中标记非结构化文本数据

    python文本结构化处理 Labelled data has been a crucial demand for supervised machine learning leading to a n ...

  6. python交互式和文件式_使用Python创建和自动化交互式仪表盘

    python交互式和文件式 In this tutorial, I will be creating an automated, interactive dashboard of Texas COVI ...

  7. python 二维列表从小到大_给Python开发者准备的110道面试题

    信息量非常大!这是给Python开发者准备的110道笔试面试题,我只把问题列出来了,答案见文末,建议每道题都要认真刷一遍,有些题可以尝试用多种方式来解答,甚至做延伸学习,说真的,很多题都可以单独拎出来 ...

  8. 88是python语言的整数类型_少儿Python编程_第三讲:常量变量和数据类型

    无论使用哪一种编程语言,甚至是学习数学.物理,都需要掌握常量.变量.表达式的概念和用法.本讲将带领读者进入编程世界,学习程序的基本元素. 3.1 基本数据类型 基本数据类型有数值型.布尔型和字符型.它 ...

  9. python怎么做软件程序_看 Python 超级程序员使用什么开发工具

    Python超级程序员使用的开发工具 我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发 ...

  10. python判断题题库_《Python程序设计》判断题1-240题

    1.Python是一种跨平台.开源.免费的高级动态编程语言.(对) 2.Python 3.x完全兼容Python 2.x.(错) 3.Python 3.x和Python 2.x唯一的区别就是:prin ...

最新文章

  1. 亚马逊员工流动率150%,每8个月相当于“大换血”,网友:贝佐斯不知足
  2. 形态分类法的迭代次数与成键的稳定性
  3. dokuwiki 部署笔记
  4. 西门子s7-200解密软件下载_西门子S7-200/300/400通讯方式汇总,超级全面
  5. python实例化对象有new吗_PHP new:实例化对象
  6. 【Flink】Flink 1.13 将数据 写入 到 elasticsearch 7 案例
  7. 下面的3条指令执行后,CPU几次修改IP?
  8. kafka集群部署成功后,创建生产者往指定主题里面发送消息时出错
  9. geddy mysql_以ToDoList应用来学习Geddy
  10. 剪枝综述论文阅读:Methods for Pruning Deep Neural Networks
  11. 关于Android Studio Arctic Fox版本找不到Database Inspection这件事
  12. linux环境下vi编辑器的模式及模式切换方法,文件保存退出方法,Linux环境下vi/vim编辑器常用命令...
  13. 计算机停电组态丢失,基于MCGS组态软件的计算机集散控制系统的设计
  14. 电脑鼠标单击变成了双击如何恢复
  15. facebook 登陆失败 分享失败 原因汇总
  16. matlab里的subs,急询:Matlab中 subs(S)的应用疑问?
  17. IAB TCF 2.0(Transparency and Consent Framework)简介
  18. django bootstrap3
  19. 拓嘉辰丰电商:关于拼多多推广计划有哪些问题
  20. GTX 1050ti和GTX960哪个好

热门文章

  1. Java培训教程之对象的创建与使用
  2. matlab 内存读取数据,matlab
  3. php 执行时间 参数,PHP调用时间格式的参数实现方法
  4. Matplotlib的画图的补充(Matplotlib的疑难杂症)
  5. C++学习笔记目录链接(持续更新中)
  6. VTK:标记网格用法实战
  7. JavaScript实现使用 BACKTRACKING 方法查找集合的幂集算法
  8. JavaScript实现degreeToRadian度到弧度算法(附完整源码)
  9. JavaScript实现articulation-points(关键点)(割点)算法(附完整源码)
  10. wxWidgets:内存检查示例