低版本中Python除法运算小技巧

首先要说的是python中的除法运算,在python 2.5版本中存在两种除法运算,即所谓的true除法和floor除法。当使用x/y形式进行除法运算时,如果x和y都是整形,那么运算的会对结果进行截取,取运算的整数部分,比如2/3的运算结果是0;如果x和y中有一个是浮点数,那么会进行所谓的true除法,比如2.0/3的结果是 0.66666666666666663。另外一种除法是采用x//y的形式,那么这里采用的是所谓floor除法,即得到不大于结果的最大整数值,这个运算时与操作数无关的。比如2//3的结果是0,-2//3的结果是-1,-2.0//3的结果是-1.0。

在未来的python 3.0中,x/y将只执行true除法,而与操作数无关;x//y则执行floor除法。如果需要在2.5版本的python中进行这样的用法,则需要在代码前加入from __future__ import division的声明。如:

代码如下:

from __future__ import division 
a=2/3                 
from __future__ import division a=2/3

这时变量a的结果将是0.66666666666666663,而不是原来的3了。

(0)

相关推荐

  • Python 除法小技巧

    复制代码 代码如下: from __future__ import division print 7/3 输出结果: 2.3333333333

  • Python中比较特别的除法运算和幂运算介绍

    不管是啥语言都离不开加减乘除这些算法,但是在Python里面你知道这些符号代表什么运算吗? "/"这个是除法运算,那么这个"//"呢?"*"这个是乘法运算,那么这个"**"呢?下面来一一介绍下. "//"运算 除法运算符是"/",这个人人皆知道,但是这个二元运算符"/"求出来的结果都是取决于操作数本身的,比如: 复制代码 代码如下: 20 / 3 6 20 / 3.0

  • 简单介绍Python中的floor()方法

    floor()方法返回不大于x的最大整数(向下取整). 语法 以下是floor()方法的语法: import math math.floor( x ) 注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数. 参数 x -- 这是一个数值表达式. 返回值 此方法返回不大于x的最大整数. 例子 下面的例子显示了floor()方法的使用. #!/usr/bin/python import math # This will import math mod

  • python通过floor函数舍弃小数位的方法

    本文实例讲述了python通过floor函数舍弃小数位的方法.分享给大家供大家参考.具体分析如下: python中可以通过math库的floor函数来舍弃浮点数后面的小数位 import math print(math.floor( x )) 例如:x=1.2,返回1.0 其返回值为浮点数,如果希望返回整数,可以写成: import math #from jb51.net print(int(math.floor( x ))) 输出结果:1 希望本文所述对大家的Python程序设计有所帮助.

  • Python3中的真除和Floor除法用法分析

    本文实例讲述了Python3中的真除和Floor除法用法.分享给大家供大家参考,具体如下: 在Python3中,除法运算有两种,一种是真除,一种是Floor除法,这两者是有分别的,分别如代码所示: >>>10/4 2.5 >>>10//4 2 >>>10/4.0 2.5 >>>10//4.0 2.0 Python3中一个斜杠的除法是真除,这和其他编程语言是一样的,保留浮点数,Floor除法是去除浮点数保留整数的除法,所以叫做Floor

  • 跟老齐学Python之啰嗦的除法

    除法啰嗦的,不仅是python. 整数除以整数 看官请在启动idle之后,练习下面的运算: >>> 2/5 0 >>> 2.0/5 0.4 >>> 2/5.0 0.4 >>> 2.0/5.0 0.4 看到没有?麻烦出来了,如果从小学数学知识除法,以上四个运算结果都应该是0.4.但我们看到的后三个符合,第一个居然结果是0.why? 因为,在python里面有一个规定,像2/5中的除法这样,是要取整.2除以5,商是0(整数),余数是2(整

  • Python中除法使用的注意事项

    本文实例讲解了Python中除法使用的注意事项,是非常重要的技巧,对于Python程序设计来说有很好的借鉴价值.具体分析如下: 现来看如下示例: def avg(first, *rest): return (first + sum(rest)) / (1 + len(rest)) # Sample use avg(1, 2) # 1.5 avg(1, 2, 3, 4) # 2.5 源程序只是为了演示变长参数的使用,不过 Python 2.7.1 的解释器里,我得到的结果却和注释的结果不一样 >>

  • Python对小数进行除法运算的正确方法示例

    求一个算式 复制代码 代码如下: a=1 b=2 c=3   print c*(a/b) 运行结果总是0,反复检查拆开以后,发现在Python里,整数初整数,只能得出整数. 也就是 a 除 b 这个结果永远是0,只要把a或者b其中一个数改成浮点数即可. 复制代码 代码如下: a=1 b=2 c=3   print c*(a/float(b)) print c*(float(a)/b) 这样才能准确算出a除b的正确结果,当然,如果a比b大,并且不需要小数位数部分可以不用float. 如: 复制代码

  • 低版本中Python除法运算小技巧

    首先要说的是python中的除法运算,在python 2.5版本中存在两种除法运算,即所谓的true除法和floor除法.当使用x/y形式进行除法运算时,如果x和y都是整形,那么运算的会对结果进行截取,取运算的整数部分,比如2/3的运算结果是0:如果x和y中有一个是浮点数,那么会进行所谓的true除法,比如2.0/3的结果是 0.66666666666666663.另外一种除法是采用x//y的形式,那么这里采用的是所谓floor除法,即得到不大于结果的最大整数值,这个运算时与操作数无关的.比如2

  • Python中最大最小赋值小技巧(分享)

    码代码时,有时候需要根据比较大小分别赋值: import random seq = [random.randint(0, 1000) for _ in range(100)] #方法1: xmax, xmin = max(seq), min(seq) #方法2: xmax, *_, xmin = sorted(seq) 从上面这个来看,看不出来方法2的优势来,不过我们常用的是比较两个数的大小,并选取: dx, dy = random.sample(seq, 2) #方法1: dx, dy = m

  • postgresql 中的时间处理小技巧(推荐)

    时间格式处理 按照给定格式返回:to_char(timestamp,format) 返回相差的天数:(date(time1) - current_date) 返回时间戳对应的的日期[yyyy-MM-dd]:date(timestamp) 计算结果取两位小数(方便条件筛选):round((ABS(a-b)::numeric / a), 2) * 100 < 10 时间运算 加减运算 '-' :前x天/月/年 '+' :后x天/月/年 current_timestamp - interval 'x

  • 9个提高 Python 编程的小技巧

    目录 01 交换变量 02 字典推导和集合推导 03 计数时使用Counter计数对象 04 漂亮的打印出JSON 05 解决FizzBuzz 06 连接 07 数值比较 08 同时迭代两个列表 09 带索引的列表迭代 前言: 初识Python语言,觉得python满足了你上学时候对编程语言的所有要求.python语言的高效编程技巧让那些曾经苦逼学了四年c或者c++的人,兴奋的不行不行的,终于解脱了.高级语言,如果做不到这样,还扯啥高级呢? 01 交换变量 >>>a=3 >>

  • 不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决

    前言 本文主要给大家介绍了关于不同版本中Python matplotlib.pyplot.draw()界面绘制异常的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 在 Ubuntu系统上进行如下配置: $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-dev $ sudo apt-get install python-pip $ sudo pip install --u

  • Python中Collection的使用小技巧

    本文所述实例来自独立软件开发者 Alex Marandon,在他的博客中曾介绍了数个关于 Python Collection 的实用小技巧,在此与大家分享.供大家学习借鉴之用.具体如下: 1.判断一个 list 是否为空 传统的方式: if len(mylist): # Do something with my list else: # The list is empty 由于一个空 list 本身等同于 False,所以可以直接: if mylist: # Do something with

  • 分享12个Vue开发中的性能优化小技巧(实用!)

    目录 前言 1.长列表性能优化 1.不做响应式 2.虚拟滚动 2.v-for遍历避免同时使用v-if 3.列表使用唯一key 4.使用v-show复用DOM 5.无状态的组件用函数式组件 6.子组件分割 7.变量本地化 8.第三方插件按需引入 9.路由懒加载 10.keep-alive缓存页面 11.事件的销毁 12.图片懒加载 总结 前言 性能优化,是每一个开发者都会遇到的问题,特别是现在越来越重视体验,以及竞争越来越激烈的环境下,对于我们开发者来说,只完成迭代,把功能做好是远远不够的,最重要

  • JDK源码中一些实用的“小技巧”总结

    前言 这段时间比较闲,就看起了jdk源码.一般的一个高级开发工程师, 能阅读一些源码对自己的提升还是蛮大的.本文总结了一些JDK源码中的"小技巧",分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 1 i++ vs i-- String源码的第985行,equals方法中 while (n--!= 0) { if (v1[i] != v2[i]) return false; i++; } 这段代码是用于判断字符串是否相等,但有个奇怪地方是用了i--!=0来做判断,我们通

  • Lua中创建全局变量的小技巧(禁止未预期的全局变量)

    Lua 有一个特性就是默认定义的变量都是全局的.为了避免这一点,我们需要在定义变量时使用 local 关键字. 但难免会出现遗忘的情况,这时候出现的一些 bug 是很难查找的.所以我们可以采取一点小技巧,改变创建全局变量的方式. 复制代码 代码如下: local __g = _G -- export global variable cc.exports = {} setmetatable(cc.exports, {     __newindex = function(_, name, value

  • JavaScript中的一些实用小技巧总结

    前言 这篇文章主要记录一下平时自己实践得到的, 博客中学习的以及在一些项目源码中看到的 javascript 技巧.有些东西可以说是奇淫技巧,有些可能是 ES6+ 中一些比较具有实用性的新语法. && 和 || 的妙用 有时候我们需要在某个函数或变量为 true 时执行另外一个函数.例如: const task1 = () => { console.log('执行 task1'); return Math.random() >= 0.5; } const task2 = ()

随机推荐