python除法函数一般如何命名_关于python:当用于除法时,’/’和’//’之间有什么区别?...

使用一个对另一个有好处吗?在Python2中,它们似乎都返回相同的结果:

>>> 6/3

2

>>> 6//3

2

请参考整数除法的问题,因为引入了//运算符进行整数除法。

在python 3.0中,5 / 2将返回2.5,5 // 2将返回2。前者是浮点除法,后者是楼层除法,有时也称为整数除法。

在2.x行中的python 2.2或更高版本中,整数没有区别,除非执行from __future__ import division,这会导致python 2.x采用3.0的行为。

无论未来进口情况如何,5.0 // 2都将返回2.0,因为这是操作的楼层划分结果。

您可以在https://docs.python.org/whatsnew/2.2.html pep-238-changing-the-division-operator上找到详细的描述。

编辑:可以"修复"python 2.2以来的分割!(刚刚阅读链接的政治公众人物)

也包括python -Qnew。其他分区选项:-Qold(默认)、-Qwarn、-Qwarnall。

值得指出的是,5.0 / 2在所有版本中都返回2.5,5 / 2.0也返回2.5。只有当两个操作数都是int时,旧的行为才不同。

如果数字是负数呢?负整数的行为相同吗?

@Aaronfranke,我用负数尝试了//(楼层划分)。这是结果。我定义了变量a=-50&b=-5,当我使用print(a//b)时,得到正值输出(10)。当我将var a或b更改为正值时,则输出为负值。我使用的是python 2.7.12版本。

@斯里尼瓦苏,你的例子没有帮助。最好是5/2(产生2)和-5/2(产生-3)。

在python 2.7.15中,//行为与python 3相同

这有助于澄清python 2.x行中,/既不是楼层划分,也不是真正的划分。目前接受的答案不清楚。当两个参数都为int时,/是楼层划分,但当其中一个或两个参数都为float时,则是真正的划分。

上面讲的是更多的事实,比公认答案中的第二段更清楚。

//实现"楼层划分",无论您的类型如何。所以1.0/2.0给0.5,但1/2、1//2和1.0//2.0都给0。

详见https://docs.python.org/whatsnew/2.2.html pep-238-changing-the-division-operator

这是一个很好的答案。PEP链接很有用。另外,如果您不确定一元运算符发生了什么,可以考虑使用math.floor()或math.fmod()。

/->浮点除法

//->楼层划分

让我们在python 2.7和python 3.5中都看到一些例子。

python 2.7.10与python 3.5

print (2/3)  ----> 0                   Python 2.7

print (2/3)  ----> 0.6666666666666666  Python 3.5

python 2.7.10与python 3.5

print (4/2)  ----> 2         Python 2.7

print (4/2)  ----> 2.0       Python 3.5

现在,如果希望(在python 2.7中)与python 3.5中的输出相同,可以执行以下操作:

Python2.7.10

from __future__ import division

print (2/3)  ----> 0.6666666666666666   #Python 2.7

print (4/2)  ----> 2.0                  #Python 2.7

其中,python 2.7和python 3.5中的楼层划分没有区别

138.93//3 ---> 46.0        #Python 2.7

138.93//3 ---> 46.0        #Python 3.5

4//3      ---> 1           #Python 2.7

4//3      ---> 1           #Python 3.5

这与int(5/2)相同吗?

如果数字是负数呢?负整数的行为相同吗?

正如大家已经回答过的那样,//是楼层划分。

这一点之所以重要,是因为在2.2版本(包括python 3.x版本)的所有python版本中,//都是明确的楼层划分。

/的行为可以根据以下情况而改变:

是否导入激活的__future__(模块本地)

python命令行选项,可以是-Q old或-Q new。

>>> print 5.0 / 2

2.5

>>> print 5.0 // 2

2.0

还没有意识到楼层划分也适用于非整数。谢谢!

python 2.7和其他即将发布的python版本:

分部(/)

将左手操作数除以右手操作数

示例:4 / 2 = 2。

楼层划分(//)

运算数的除法,其结果是除掉小数点后位数的商。但是,如果其中一个操作数是负数,则结果是向下的,即从零取整(向负无穷大取整):

示例:9//2 = 4和9.0//2.0 = 4.0、-11//3 = -4和-11.0//3 = -4.0。

/部门和//楼层部门的运营商都以类似的方式运营。

朝向无穷远和远离零是不同的东西。例如(-1.2和3.4):"地板"朝向负无穷(-2和3),"截断"朝向零(-1和3),"饱和"朝向零(-2和4),"天花板"朝向正无穷(-1和4)。

双斜线//是楼层划分:

>>> 7//3

2

方程的答案被四舍五入到下一个较小的整数或以0为小数点的浮点。

>>>print 5//2

2

>>> print 5.0//2

2.0

>>>print 5//2.0

2.0

>>>print 5.0//2.0

2.0

//是楼层划分,它总是给出结果的整数楼层。另一个是"常规"部门。

在这个答案中,我不仅要告诉你答案,而且要告诉你//的好处。

大多数使用python的人必须知道python中的floor division操作符(//)。对于不知道的人,此运算符在除法后返回下限值。例如:5/2=2.5,但5//2=2(2是2.5的下限值)

但是对于大于10^17的数字,除法运算符的行为通常不正常。

x = 10000000000000000000006

if x / 2 == x // 2:

print("Hello")

else:

print("World")

对于上面的代码,世界将被打印,而不是你好。这是因为1000000000000000006/2将返回5e+21,但100000000000000000000006//2将返回正确的答案5000000000000000000003。即使是int(100000000000000000006/2),也会返回500000000000000000000,这是不正确的。

因此,即使要分割大数字,也要使用//运算符。

例如:如果要查找第一个10000000000000000000000000000010002数字的和,公式为:n(n+1)/2,则普通除法运算符(/)会给出错误的答案,但//运算符会给出正确的答案。

以下是'/'和'/'之间的区别;我已经在python 3.7.2中运行了这些算术运算。

>>> print 11 / 3

3.6666666666666665

>>> print 11 // 3

3

>>> print 11.3 / 3

3.7666666666666667

>>> print 11.3 // 3

3.0

这个答案是如何加上其他想法没有涵盖的内容的?或者这个答案怎么比其他答案更好?

下面是程序的输出。这解释不了什么。

以上答案都很好。我想再加一点。在某些值中,这两个值的商相同。在此之后,楼层划分操作员(//工作正常,而不是划分操作员(/工作)。

- > int(755349677599789174/2)

- > 377674838799894592      #wrong answer

- > 755349677599789174 //2

- > 377674838799894587      #correct answer

5.0//2导致2.0,而不是2,因为//运算符返回值的返回类型遵循python强制(类型转换)规则。

python将较低的数据类型(integer)转换为较高的数据类型(float),以避免数据丢失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/340045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

艾默生变频器报警PHP,艾默生ct变频器报警ou 这个CT的变频器报警UU怎么解决?

1, 这个CT的变频器报警UU怎么解决?(1) 控制板Q1(15050026)坏。(2) 7840坏:在变频器通电时,用直流档,黑接5脚,红分别接6,7,8脚,值为2.5,2.5,5为正常,否则7840坏。(3) 小板坏:在变频器…

Project Reactor展开方法

最近,我的一位同事向我介绍了Project Reactor类型的expand运算符,在这篇文章中,我想介绍几种使用它的方式。 展开分页结果 考虑在名为City的模型上基于Spring Data的存储库: import org.springframework.data.jpa.repository.Jpa…

同时买票是怎么实现的_去巴黎玩怎么买地铁票最划算?| 巴黎最全交通攻略

次票、天票、机场票……傻傻分不清楚。不会法语怎么办?什么时候买有优惠?看这一篇全知道​​巴黎作为国际大都市,交通还是非常方便的。基本上80%的巴黎景点都能坐地铁到达,就在我们平常所说的小巴黎里。整个巴黎岛(Ile…

php输入地址查询,PHP查询用户IP所在地址

原创内容,转载请注明出处:https://www.myzhenai.com.cn/post/3042.html关键词:IP所在地址 IP地址 PHP获取ip地址相关内容:获取IP所处位置的Shell代码:https://www.myzhenai.com.cn/post/2917.htmlWordPress获取当前浏览…

javafx css_JavaFX技巧13:研究Modena CSS文件

javafx css到目前为止,这是最简单,最短的提示。 如果要执行以下任何操作: 了解如何使用CSS 使您的自定义控件看起来像标准控件 重用标准控件使用的SVG路径图形(例如,滚动条箭头) 弄清楚如何浏览标准控件…

python彩票数据分析案例_天津Python人工智能课程

Python人工智能课程介绍人工智能主要致力于计算机视觉,自然语言处理与语音识别三大领域!其基础与核心都是机器学习,当下AI时代各大行业巨头公司都在争相追逐这些热门领域,创业公司更是层出不穷,人工智能工程师的需求量…

swig模板 PHP,如何使用nodejs前端模板引擎swig

这次给大家带来如何使用nodejs前端模板引擎swig,使用nodejs前端模板引擎swig的注意事项有哪些,下面就是实战案例,一起来看一下。相对于jade,我还是更喜欢swig前端模板引擎,jade虽然语法简练高效了不少,但是…

jaxb_JAXB –新手的观点,第2部分

jaxb在本系列的第1部分中,我讨论了使用JAXB和JPA将数据从XML文件加载到数据库中的基础知识。 (如果需要使用JSON而不是XML,则相同的想法应转化为类似Jackson的工具。)该方法是使用共享域对象,即,一组带有描…

redis是什么_什么是Redis?为什么我们要用Redis?

前言当结束Java和数据库的学习以后,你就会接触到Redis这个词,我第一次听到的时候脑海里就会浮现这两个问题:什么是Redis?为什么我们要用Redis?我了解完以后,写出来帮助大家能够更快的认识它。我们先来看它的…

php strpos无效,簡單的PHP strpos功能不起作用,為什么?

Why isnt this standalone code working:為什么這個獨立代碼不起作用:$link https://google.com;$unacceptables array(https:,.doc,.pdf, .jpg, .jpeg, .gif, .bmp, .png);foreach ($unacceptables as $unacceptable){if (strpos($link, $unacceptable) true) {…

java基准测试_星期五基准功能Java

java基准测试让我们的产品所有者有一天变得疯狂,并要求您执行以下操作: From a set of Strings as follows : “ marco_8”,“ john_33”,“ marco_1”,“ john_33”,“ thomas_5”,“ john_3…

python2048游戏代码_【Python】用Python实现2048小游戏(源代码,1.0版本)

#2048 用python实现import randomimport mathimport osglobal scorescore 0def start():#开始a [[0 for i in range(4)] for i in range(4)] #构造一个4*4的列表i random.randint(0,3)j random.randint(0,3)p2 random.random()if p2>0.9: a[i][j] 4 #有0.9几率出现2el…

性能php 教程,提高PHP性能效率的几个技巧

如何提高效率问题,往往同样的功能,不一样的代码,出来的效率往往大不一样。● 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:…

oop 类和对象的_实用程序类的OOP替代

oop 类和对象的实用程序类(也称为帮助程序类)是仅具有静态方法且不封装状态的“结构”。 StringUtils , IOUtils , FileUtils从Apache的共享 ; Guava的 Iterables和Iterators以及JDK7的Files是实用程序类的完美示例。 这种设计思…

python读取json数据格式问题_浅谈Python中的异常和JSON读写数据的实现

异常可以防止出现一些不友好的信息返回给用户,有助于提升程序的可用性,在java中通过try ... catch ... finally来处理异常,在Python中通过try ... except ... else来处理异常一、以ZeroDivisionError为例,处理分母为0的除法异常de…

python from numpy import,python zeros()使用(from numpy import *)-Go语言中文社区

参考:############################################################函数zeros()在模块numpy中:from numpy import *help(zeros)该函数功能是创建给定类型的矩阵,并初始化为0参数简洁:shape:可以是int类型数据&#x…

OCA第5部分中的Java难题

在Java Puzzlers系列的第五部分中,我们将看到与X.parseX(String s)方法相关的内容。 您可以看到我们对X.parseX()方法的期望。 public class Puzzler { public static void main(String[] args){ int i Integer.pars…

sqlmap绕过d盾_Waf功能、分类与绕过

## 一. waf工作原理Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。常见的系统攻击分为两类:- 一是利用Web服务器的漏洞进行攻击,如DDOS攻击、病毒木马破坏等攻击;- 二是利用网页自身的安全漏洞进…

maven的常见问题_Maven常见问题和陷阱

maven的常见问题喜欢它还是讨厌它(很多人似乎都讨厌它), Maven是64%的Java开发人员广泛使用的工具(来源– 2014年Java工具和技术前景 )。 大多数经验丰富的开发人员已经对Maven感到头疼。 通常以困难的方式…

matlab graphic,Matlab图形系统,Matlab Graphic System,音标,读音,翻译,英文例句,英语词典...

Image:114994698204558.jpgmatlabmatlab是矩阵实验室(matrix laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。matlab的基本数据单位是矩阵,它的指令表达式…