注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

云之南

风声,雨声,读书声,声声入耳;家事,国事,天下事,事事关心

 
 
 

日志

 
 
关于我

专业背景:计算机科学 研究方向与兴趣: JavaEE-Web软件开发, 生物信息学, 数据挖掘与机器学习, 智能信息系统 目前工作: 基因组, 转录组, NGS高通量数据分析, 生物数据挖掘, 植物系统发育和比较进化基因组学

网易考拉推荐

python 除法运算  

2011-08-18 15:07:57|  分类: python&biopython |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
python 除法运算 比较奇怪,和别的程序语言不大一样。

算术运算符
对于数值型数据,常见的算术运算有加法、减法、乘法、除法,以及求幂和取模等,这些运算所对应的运算符分别为:
加法运算符:+,例如代数表达式2+3的Python表达式为2 + 3;
 减法运算符:-,例如代数表达式2-3的Python表达式为2 - 3;
乘法运算符:*,例如代数表达式2×3的Python表达式为2 * 3;
除法运算符:/和//,例如代数表达式2÷3的Python表达式为2 / 3或2 // 3;
求幂运算符:**,例如代数表达式23的Python表达式为2 ** 3;
取模运算符:%,例如代数表达式2mod3的Python表达式为2 % 3;
在早期的版本中,Python只有一个除法运算符即/,该运算符既用于整除法,又用于真除法,这由参与运算的操作数的类型决定。具体而言,如果操作数皆为整数,那么就进行整除法运算,即两数相除后之后,只取其商的整数部分,并丢弃小数部分,不进行进位处理;此外,如果操作数中只要有一个为浮点数,那么就进行真除法运算,即得到的结果是一个精确的浮点数,包括小数点之后的数字。
从Python2.2开始,除法运算符除了/之外,又引入了一个除法运算符://,后一种运算符只用于进行整除法。对于除法运算符/,默认时的行为跟Python2.2之前的一样,它视操作数而定,既可以进行整除,也可以进行真除法。如果想让这两个运算符有一个明确的分工,即/只用于真除法,而//仅用于整除法的话,需要作以下声明:
from __future__ import division

>>>2/3
>>>0
>>>2//3
>>>0
>>>10/3
>>>3
>>>10//3
>>>3
>>>from __future__ import division
>>>2/3
>>>
0.66666666666666663
>>>2//3
>>>0
>>>10/3
>>>3.333333333333335
>>>10//3
>>>3
在声明之前,对表达式2/3进行计算时,结果为0,这是因为参加运算的两个操作数都是整数,所以运算符/进行的是整除法,但是表达式2.0/3的结果却是0.66666666666666663,这是因为操作数中的2.0是浮点数,所以运算符/进行的是真除法。表达式2//3和2.0//3进行求值时,进行的都是整除法,只不过返回值一个是整型,一个是浮点型而已。当我们用import语句进行相应的声明后,除法运算符/只能用于真除法,所以此时2/3和2.0//3的返回值都是0.66666666666666663。

在python 2中 '/' 除 和'//' 除 表示的都是Int整除

例如

>>> 11/2
5

>>> 3//2
1

但是通过使用语句

>>> from __future__ import division

可以改变这种状况 让'/'除变成float除

这里有一个小小的陷阱 当做负数的除法时 因为取整的关系 -11/2 得到的结果并不是想象中的-5 而是-6(取整 不是四舍五入)

>>> -11/2
-6

引入division后得到的结果是5.5

>>> -11/2
-5.5

这里需要注意

在Python 3中 '/' 除 表示的就是float除 不需要再额外引入模块,

即使分子分母都是int, 返回的也会是一个float浮点数

  评论这张
 
阅读(8663)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016