上QQ阅读APP看书,第一时间看更新
3.10.1 算术操作符
和绝大多数编程语言一样,Python的算术操作符大部分和我们理解的一样,注意,这里说的是大部分,不是全部:
+ - * / % ** //
前边四个就不用介绍啦,加减乘除,大家都懂。不过有点小技巧倒不是大家都知道。
例如,当你想对一个变量本身进行算术运算的时候,你是不是会觉得写a=a+1或b=b–3这类操作符特别麻烦?没错,在Python中可以做一些简化:
如果使用过Python2.x版本的读者可能会发现,咱Python的除法变得有些不同了。包括很多编程语言,整数除法一般都是采用floor的方式,有些书籍称为地板除法(注:因为floor的翻译就是地板的意思)。地板除法的概念是:计算结果取比商小的最大整型,也就是舍弃小数的意思(注:例如3/2等于1)。但是在这里我们发现,即使是进行整数间的除法,但是答案是自动返回一个浮点型的精确数值,也就是Python用真正的除法代替了地板除法。
那有些朋友不乐意了,他说“萝卜青菜各有所爱,我就喜欢原来的除法,我觉着整数除以整数就应该得到一个整数嘛。”Python团队也为此想好了后路,就是大家看到的双斜杠,它执行的就是地板除法的操作,不过要注意一点的是,无论是整数运算还是浮点数运算,都会执行地板除法:
关于Python3在除法运算上的改革,支持的和谩骂的几乎各占一半,有些人支持这种做法,因为Python的除法运算从一开始的设计就有失误,但有些人又不想因此修改自己的海量代码,而剩下的人则想要真正的除法。无论怎样,Python团队是秉承着追求完美和卓越的思维去一次次改进Python这门编程语言,所以小甲鱼说Python3已经是非常棒的版本了。
百分号(%)表示求余数的意思: