在C/C++语言对于整形数执行除法会进行地板除(舍去小数部分)。例如 int a=15/10; a的结果为1。

同样的在Java中也是如此,所以两个int型的数据相除需要返回一个浮点型数据的时候就需要强制类型转换,例如 float a = (float)b/c ,其中b、c都是int型数据。

Python中分为3种除法:传统除法、精确除法、地板除。

传统除法

如果是整数除法则执行地板除,如果是浮点数除法则执行精确除法。

>>>1/2
0
>>>1.0/2.0
0.5

精确除法

除法总是会返回真实的商,不管操作数是整形还是浮点型。执行from __future__ import division 指令就可以做到这一点。

>>>from __future__ import division
>>>1/2
0.5
>>>1.0/2.0
0.5

地板除

从Python2.2开始,增加了一个操作符 // ,以执行地板除://除法不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字。

>>>1//2
0
>>>1.0//2
0
>>>-1//2.0
-1

内建函数divmod()
divmod (a,b),返回(a//b,a%b)

>>>divmod(1,2)
(0,1)
>>>divmod(3.14159,1.5)
(2.0,0.4159000000000002)
>>>5+6j//3+2j
2+0j
>>>5+6j%3+2j
-1+2j
>>>divmod(5+6j,3+2j)
((2+0j),(-1+2j))

Python中的除法的更多相关文章

  1. python中传统除法、真除法和Floor除法

    1.python2.6及其之前,x/y是传统除法,对于整数会省去小数部分,对于浮点数会保持小数部分. 2.python3中x/y表示真除法,无论任何数据类型都会保留小数部分. 3.python2和3中 ...

  2. Python中除法:/和//

    在Python中,除法有两种:/和//. X / Y 对于Python2.X来说,如果两个操作数都是整数,那么结果将向下取整(这个和C里面的不同,C里面是向0取整),也就是说,如果结果本来是-2.5, ...

  3. Python学习-24.Python中的算术运算

    加法:+,与C#中并无区别,并且一样可以作用于字符串. 但Python中不支持字符串与数值类型的相加. i = 1 s = ' print(s + i) 这样是会在运行时报错的,正确写法如下: i = ...

  4. python中的归并排序

    本来在博客上看到用python写的归并排序的程序,然后自己跟着他写了一下,结果发现是错的,不得不自己操作.而自己对python不是非常了解所以就变百度边写,最终在花了半个小时之后就写好了. def m ...

  5. Python2以及Python3中的除法

    前言 在讨论话题之前,我们先说下程序中除法的三种情况: 1. 传统的除法,我称之为整型地板除.在C.C++.Java中常见,特点是整数相除舍弃小数取整,浮点数相除则保留小数(如果有). >> ...

  6. 深入理解python(一)python语法总结:基础知识和对python中对象的理解

    用python也用了两年了,趁这次疫情想好好整理下. 大概想法是先对python一些知识点进行总结,之后就是根据python内核源码来对python的实现方式进行学习,不会阅读整个源码,,,但是应该会 ...

  7. 【python】python2.x中的除法

    在生信分析中有许多时候我们需要用到除法,在经历无数次break out 之后我终于发现原来python 2.x中只有整除,而没有浮点除法,这就是没有基础的弊病. 那么如何在python 2.x中运用除 ...

  8. python中除法的注意事项

    使用python数据处理,代码如下: import numpy as np fs = 5 ts = np.arange(-1,1+1/fs,1/fs) 发现了这样一个错误: Traceback (mo ...

  9. python技巧 python2中的除法结果为0

    在python2中执行除法操作如果结果小于1就会返回0 如下面的例子: >>>81/82 0 如果你需要返回"正确的结果 ",有两种方法: 在脚本中引入from  ...

随机推荐

  1. linux_jvm_jmap_dump内存分析

    jmap命令   jmap命令 jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小等等 ...

  2. css初接触

    一.简介:CSS 即 级联样式表 . 它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言. css是能够真正做到网页表现与内容分离的一种 ...

  3. angularJS图表-angular-flot

    1.首先需要在项目中引入的js文件有 <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.mi ...

  4. 干掉拖延症!写给新人的GTD方法

    部门周会上有一个环节是每个同学讲述本周之最:最认可自己的.最反思的.最困惑的.其中,最认可自己,代表自己阶段性的成就感,在从外界取得成就感之前,首先自己要认可自己.最反思,要注意,不能只反不思,要记录 ...

  5. 多线程的练习----妖,等待唤醒,代码重构,lock到condition

    × 目录 [1]需求 [2]妖的出现和解决 [3]等待唤醒 [4]代码重构 [5]改成Lock Condition ------------------------------------- 1,需求 ...

  6. 【CSS3】---first-of-type选择器+nth-of-type(n)选择器

    first-of-type选择器 “:first-of-type”选择器类似于“:first-child”选择器,不同之处就是指定了元素的类型,其主要用来定位一个父元素下的某个类型的第一个子元素. 示 ...

  7. Part 1 some difference from asp.net to asp.net mvc4

    Part 1 some difference from asp.net to asp.net mvc4 In MVC URL's are mapped to controller Action Met ...

  8. Linux下用freetds连接mssql中文乱码的问题【参考1】

    由于工作原因我们需要通过php访问我们以前的Sql Server 2005数据,所以就有了这篇文章的诞生.废话就少说了,做程序设计的最不喜欢兜圈子了.用简介步骤说明问题,往下看.系统:   Linux ...

  9. 延迟加载(Lazy Load)

    一个对象,它虽然不包含所需要的所有数据,但是它知道怎么获取这些数据 设计专门的对象来把数据从DB中加载到内存中. 该对象可以完成在加载所需对象的同时,把与之相关的对象也一并加载了. 否则,必须显示加载 ...

  10. 10款免费CSS编辑器应对于Linux和Ubuntu

    您是否在使用Linux和Ubuntu的,不知道在哪里可以找到一些优秀且免费的CSS编辑器用于Linux和Ubuntu的?如果你的答案是肯定的,然后停止幻想,开始浏览这个帖子里,我们展示了前10名,并免 ...