原文:https://www.cnblogs.com/bEngi1/p/9155297.html

 ‘//’明明是整除,为什么结果不是整数,而会出现小数?

首先,关于除法有三种概念:传统除法、精确除法和地板除

1
2
3
4
5
6
7
#1、传统除法:整数相除结果是整数,浮点数相除结果是浮点数
>>>4/2
2
>>>4.0/2
2.0
>>>4/2.0
2.0
#2、精确除法:无论操作数是整数还是浮点数,得到的商总是真实结果,总是得到浮点数
>>>4/2
2.0
>>>4.0/2
2.0
>>>4/2.0
2.0
#3、地板除:无论操作数是整数还是浮点数,得到的商不保留浮点数的尾数
>>>4//2
2
>>>4.0//2
2.0

但是!这三种除法概念在Python2.6和Python3.0中又有不同

Python2.6中,‘/’按照以上三种除法概念把结果分得更细:比如,整数相除结果为整数,只要有一个浮点数结果就是浮点数(Python2.6:>>>3/2输出1);地板除‘//’(和Python3.0一样):操作数为整数,整除结果为整数。否则操作数只要有一个浮点数,结果就为小数(这里小数和浮点数有区别,就是这个区别能解释开头引入例题)

Python3.0中,‘/’保留小数,这把‘/’的结果合并起来了,无论操作数是整数还是浮点数,结果总都是浮点数(Python3.0:>>>3/2输出1.5);地板除‘//’(和Python2.6一样):同上

因此,现在,就能解释开头引入的例题了

#Python3.0下运行的结果
>>>4.5/2
2.25>>>4.5//2
2.0

第一个运算得到的结果是保留尾数数值的浮点数(当然也属于小数);而第二个运算,不保留尾数数值,直接截断仅保留其整数数值,但是因为有一个操作数是浮点数,所以得到的结果是小数,这个就是Python3.0对于‘//’的运算规则

「Python」为什么Python里面,整除的结果会是小数?相关推荐

  1. python决策树可视化_「决策树」| Part3—Python实现之可视化

    文章首发于微信公众号:AlgorithmDeveloper,专注机器学习与Python,编程与算法,还有生活. 1.前言 「决策树」| Part2-Python实现之构建决策树中我们已经可以基于给定数 ...

  2. python数学函数_「分享」关于Python整理的常用数学函数整理

    原标题:「分享」关于Python整理的常用数学函数整理 1.函数说明 abs(number)返回数字的绝对值,如abs(-10)返回10 pow(x,y[,z]) 返回x的y次幂(所得结果对z取模), ...

  3. 基于「ClamAv」通过python进行病毒检测(2)-- pyClamd控制clamd详解

    介绍pyClamd模块一般用法和常用方法等. 我们可以使用python来控制clamd,从而操控ClamAv,需要引入第三方模块:pyClamd. 使用pyClamd控制clamd之前,必须先正确安装 ...

  4. 国产编程语言「木兰」实为 Python 套壳,官方致歉!

    公众号关注 "GitHubDaily" 设为 "星标",带你了解圈内新鲜事!   新智元报道   来源:知乎等 编辑:张佳.鹏飞 [导读]近日,中科院计算所下属 ...

  5. 国产编程语言「木兰」实为 Python 套壳,官方已致歉!

    春节倒计时 05 天 转自新智元,整理来源知乎等 编辑:张佳.鹏飞 近日,中科院计算所下属团队号称完全自主设计.开发和实现的编程语言"木兰"被推到了舆论的中心,体验过后开发者们纷纷 ...

  6. 「15」支持向量机Python实战篇——蓝瘦香菇到底有没有毒?

    上一篇文章:「14」支持向量机--我话说完,谁支持?谁反对?,我们通过SVM的数学原理讲解了这个最常见的机器学习算法.这一篇我们用一个非常简单的python实战项目来练习一下SVM并加深理解. 复习 ...

  7. 「ProtocolBuffers2」ProtocolBuffers2 Python简易入门

    参考链接: Protocol Buffer Basics: Python Python Generated Code Protocol Buffers Python API Reference 主要内 ...

  8. 「Python」Command “python setup.py egg_info“ failed with error code 1 in /tmp/pip-build-Yt_rRN/grpcio

    背景 在docker里面用python2.7跑python代码,使用pip install ..时报的错误 解决办法 首先确保pip, setuptools这些都是最新: python -m pip ...

  9. 一个「神奇」的Python库,99%的人都爱!

    背景介绍 今天介绍Python中一个超级神奇的库,99%人用过都喜欢它,剩下的1%没用过! 在如今的大数据时代,数据的价值可想而知.有时候为了做测试,需要模拟真实的环境,但是又不能直接使用真实数据,就 ...

最新文章

  1. Spring bean 实现生命周期的三种解决方案
  2. 101.编译是如何把一个机器的语言拿到另一台机器语言机器上执行的?
  3. Java高阶部分知识点汇总(三)-基本类型的包装类详讲
  4. Kubernetes集群安全概述
  5. linux查看程序写文件内容,Linux 文件内容查看命令
  6. Material Theme
  7. tomcat登录账户配置
  8. HDU 4273 Rescue(三维凸包重心)
  9. 栈和队列的基础算法学习(EPI)
  10. 项目沟通管理 试题分析
  11. 来料加工企业使用ERP系统作用有哪些
  12. 专访腾讯云谢岳峰:只做连接器,五大措施支持渠道伙伴成长
  13. 朴素贝叶斯算法实现垃圾邮件过滤(Python3实现)
  14. Snowflake生成的ID是全局递增唯一么?怎么实现全局递增的唯一ID?
  15. linux shell logout,.bash_pfofile、.bash_logout和.bashrc区别
  16. 阿里云域名配置过程记录
  17. 学习云计算技术前景在哪里?云计算技术发展趋势
  18. 我的GH60 - 极客定制GK61XS : 基本情况及安装心得
  19. matlab幂函数e,MATLAB e的幂函数拟合
  20. 简书python_如何用python刷简书文章的浏览量

热门文章

  1. 做Android开发,要清楚init.rc里面的东西
  2. Modbus协议概念最详细介绍
  3. Android 闹钟
  4. c语言 从文件读入数组,C++ 将一个文件读入数组再读出数组的方法
  5. java agent 监控tomcat_promethues监控tomcat
  6. 二、bootstrap4基础(flex布局)
  7. LeetCode 918. 环形子数组的最大和(前缀和+单调队列)
  8. LeetCode 旋转数组 系列
  9. 程序员面试金典 - 面试题 08.07. 无重复字符串的排列组合(回溯)
  10. c++ 一行输出八个数字_R语言笔记(三):数据输入与输出