python2与python3中除法的区别
python2中的除法
>>>1/2
0
即一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分
有时候,这个功能比较有用,譬如在做一些需要取位数上的值时可以利用此特性用于循环结束等,但通常,大家用不到这种。
那么,有两种解决方式:
1)用实数(包含小数点的数)而不是整数进行运算
实数在Python中被称为浮点数(Float,或者Float-point number),只要参与运算的数字中有一个是浮点数,则为浮点数运算,运算结果亦为浮点数,也就不会截除小数部分
如
>>>1.0/2.0
0.5
>>>1/2.0
0.5
>>>1.2/2
0.5
>>>1/2.
0.5
2)让Python改变除法的默认执行方式
可以在程序中加入以下语句,或者在解释器里执行它:
>>>from_future_import division
还有另外一种方法,如果通过命令行(如在Linux系统上)运行Python,可以使用命令开关啊-Qnew
使用以上两种方法。就可以只执行普通的除法运算。
>>>1/2
0.5
此时,单斜线就不再作为整除了,但是Python提供了另外一个用于实现整除的操作符--双斜线:
>>>1//2
0
就算是浮点数,双斜线也会执行整除
>>>1.0/2.0
0
Pytho3.0之后的版本中
在Python3.0中变成真除法(无论任何类型都会保持小数部分,即使整除也会表示为浮点数形式)。
>>> 3/2
1.5
>>> 3/2.0
1.5
>>> 4/2
2.0
>>> 4/2.0
2.0
注意:大家一定要注意python3中的除法,结果是一个小数,这一点需要注意。
参考文章:https://www.cnblogs.com/Dragon5/p/6368372.html
python2与python3中除法的区别的更多相关文章
- python2和python3中range的区别
参考自 python2和python3中的range区别 - CSDN博客 http://blog.csdn.net/xiexingshishu/article/details/48581379 py ...
- Python2与python3中字符串的区别
Python2 在python中包含两种字符串类型:str和unicode,str并不是完全意义上的字符串,其实是由unicode经过编码(encode)后的字节组成的字节字符串,而unicode则是 ...
- python2 与python3中最大的区别(编码问题bytes&str
1,在python2.x 中是不区分bytes和str类型的,在python3中bytes和str中是区分开的,str的所有操作bytes都支持 python2 中 >>> s = ...
- python2和python3中str,bytes区别
python2中,有basestring.str.bytes.unicode四种类型 其中str == bytes ,basestring = (str,unicode) >>> i ...
- python2和python3中的range区别
python2中的range返回的是一个列表 python3中的range返回的是一个迭代值 for i in range(1,10)在python2和python3中都可以使用,但是要生成1-10的 ...
- Python2和Python3中除法操作/的不同
X/Y 在3.0版本之前的Python中 >>>1/2 0 即一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分 有时候,这个功能比较有用,譬如 ...
- [Python3 填坑] 012 字典的遍历在 Python2 与 Python3 中区别
目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 Python2 中字典的遍历 2.2 Python3 中字典的遍历 2.3 结论 1. print( 坑的信息 ) 挖坑时间:2019/ ...
- Python2和Python3的一些语法区别
Python2和Python3的一些语法区别 python 1.print 在版本2的使用方法是: print 'this is version 2 也可以是 print('this is versi ...
- Python2与Python3字符编码的区别
目录 字符编码应用之Python(掌握) 执行Python程序的三个阶段 Python2与Python3字符串类型的区别(了解) Python2 str类型 Unicode类型 Python3 字符编 ...
随机推荐
- html标题-段落-字符实体-换行
Html标题标签: <h1>.<h2>.<h3>.<h4>.<h5>.<h6>标签可以在网页上定义6种级别的标题,这6种级别的标 ...
- 学习Struts--Chap07:Struts2文件上传和下载
1.struts2文件上传 1.1.struts2文件上传的基本概述 在开发web应用的时候,我们一般会为用户提供文件上传的功能,比如用户上传一张图像作为头像等.为了能上传文件,我们必须将表单的met ...
- vscode eslint配置vue遇到的问题
一.准备工作 vscode里安装eslint和vetur插件,全局安装eslint,并在项目根目录中eslint --init 二.Cannot find module 'eslint-config- ...
- Linux学习-实验楼(1)
1.Shell:命令解释器 2.Linux技能树 3.X11:X窗口系统,其本身只是工具包及架构协议,Xorg是x架构规范的一个实现体,是实现了x协议规范的一个提供图形界面的服务器 4.终端本质上是对 ...
- kvm部署
第一:安装前准备 vmware workstation的虚拟机做kvm实验,需要开启嵌套虚拟化 1.首先在物理机BIOS设置里开启虚拟化功能 2.其次需要在vm里面开启一下两个功能,(关闭虚拟机勾选即 ...
- ssh以root用户远程登录失败
参考文献: http://blog.csdn.net/lichangzai/article/details/39379153 http://blog.csdn.net/yasi_xi/article/ ...
- Spring Boot参数校验
1. 概述 作为接口服务提供方,非常有必要在项目中加入参数校验,比如字段非空,字段长度限制,邮箱格式验证等等,数据校验常用到概念:JSR303/JSR-349: JSR303是一项标准,只提供规范不提 ...
- 2.1 mac下多版本jdk的安装和管理
之前已经安装过jdk8了,安装路径:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk 现在安装jdk10,下载后,双击dmg文件一直到安装完成,安装 ...
- Initialize a vector in C++ (5 different ways)
https://www.geeksforgeeks.org/initialize-a-vector-in-cpp-different-ways/ Following are different way ...
- python接口自动化测试(八)-unittest-生成测试报告
用例的管理问题解决了后,接下来要考虑的就是报告我问题了,这里生成测试报告主要用到 HTMLTestRunner.py 这个模块,下面简单介绍一下如何使用: 一.下载HTMLTestRunner下载: ...