在做leetcode: Evaluate Reverse Polish Notation 的时候,原本想用eval来优雅而简洁地完成求值运算的,结果发现由于eval本身的极大危险性,被sandbox禁用了.于是只好亲自动手.结果一动手,才发现一个以前一直不知道的关于python除法的特性.
众所周知,python2和python3当中的除法是不一样的.
python的除法分为floor division和true division
前者会将结果取整,后者则是返回完整的浮点结果.
其中python2的"/",在操作数都是整数的情况下,做的是floor division;否则是true division
"//" 的行为与'/'略有不同,在操作数是整数的情况下,它与"/"相同,若有一个是浮点数,则会返回将res取整的结果(但该结果的类型仍然为浮点数)
python3中的除法则是更合理一些,"/"完成true division;"//"完成floor division.
如果要在python2中使用python3的除法,可以用"from __future__ import division "来达成.
这并非我要说的重点.
关于floor division取整的方式,原先我一直以为是取该运算结果的整数部分.很多对python的介绍也都是这么说的.然而今天做题的时候才发现:python2 中: -1/2 返回的结果是-1
这并非是运算错误,仅仅是因为之前我对python除法取整的理解一直出了差错.它并非是取整数部分,而是做一个[res]的运算,取不大于结果的最大整数.对"//"的测试也得到相同的结果.
《python装饰器描述正确的是什么python中的除法》总结了关于python编码教程,对于我们来W WW.002pc .COM确实能学到不少知识。
所以以后在使用python时,如果运算涉及到负数那就一定要留心了,运算结果很可能并不是你想象的那样.
更多:python装饰器描述正确的是什么python中的除法
https://www.002pc.comhttps://www.002pc.com/python/5839.html
你可能感兴趣的python,除法
什么组装电脑关于Python在Linux、Mac和Windows上的安装方法总结
一.Linux下安装python
1.python源码安装包下载地址:
https://www.python.org/downloads/source/
2.下载完tar.xz压缩包以后,开始解压
mysql 查出数据一对多python使用unittest测试接口步奏详解
这次给大家带来python使用unittest测试接口步奏详解,python使用unittest测试接口的注意事项有哪些,下面就是实战案例,一起来看一下。
linux内核代码完全注释Python 3.4.0 beta 2 发布,修复多个bug
Python 3.4.0 beta 2 发布,此版本包括对 3.x 系列的改进和一些小的 bug 修复。
python3 连接mysqlmysql中主从复制延迟问题
mysql中主从复制延迟问题 分类: Mysql linux 2012-09-26 21:43 522人阅读 评论(0) 收藏 举报mysql服务器iofileusersql电脑技术网认为此文章对《python3
qq for linux无法安装centos7.1安装 python2.7.10
后来想装一下 DCOS Cli工具,结果发现 python 的 pip 不可用。 搜了一下
0踩
赏
0 赞