原文: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. jpa写原生sql-EntityManager
  2. 《linux程序设计》--读书笔记--第十四章信号量、共享内存和消息队列
  3. 关于 Python3 的编码
  4. C语言高级编程:指针变量p指向的地址与p自身的地址
  5. python语言基础实验_实验二Python语言基础函数包练习.doc
  6. weak_ptr打破环状引用
  7. 深入浅出看懂AlphaGo Zero - PaperWeekly 第51期
  8. If you already have a 64-bit JDK installed 解决方法
  9. 我是高管,空降的第60天,被辞职了,惨惨惨
  10. 架设服务器虚拟主机教程,web服务器虚拟主机(服务器搭建虚拟主机教程)
  11. 【密码学】七、密钥管理
  12. C#实现在图片上添加文字和二维码
  13. Unity Shader学习记录(6) —— 高光反射光照模型和内置计算函数
  14. Java面向对象实验 8 ——图形用户界面设计
  15. 封装composer包包
  16. 【php】php开发环境的搭建
  17. 第八篇order订单专题(5)限价止损单、跟踪止损单、跟踪限价止损单讲解
  18. python selenium unittest_使用python学习selenium2--使用unittest进行测试
  19. vulntarget-b靶场详细通关记录
  20. 解决ajax请求返回Json无法解析字符的问题

热门文章

  1. Android.mk中添加宏定义
  2. 计算机软件需求规格说明规范_太阳能(光伏)组件安全规范测试简介_丙观科技
  3. 常用排序算法以及算法性能测试(完整C/C++代码实现)
  4. 数据结构之优先队列:优先队列的介绍与基础操作实现,Python代码实现——14
  5. LeetCode 1564. 把箱子放进仓库里 I(排序)
  6. LeetCode 1905. 统计子岛屿(BFS)
  7. Spark 机器学习中的线性代数库
  8. LeetCode 1669. 合并两个链表
  9. LeetCode 第 32 场双周赛(983/2957,前33.2%)
  10. LeetCode MySQL 612. 平面上的最近距离