Python中除法:/和//

在Python中,除法有两种:/和//。

X / Y

 对于Python2.X来说,如果两个操作数都是整数,那么结果将向下取整(这个和C里面的不同,C里面是向0取整),也就是说,如果结果本来是-2.5,那么向下取整为-3,如果结果本来是2.5,那么向下取整为2;如果两个操作数有浮点数,那么就是浮点数除法,结果就是浮点数除法;对于Python3.X来说,不管操作数有没有浮点数,都是浮点数除法:

复制代码
5 / -2
#2.X 商:-3 余数:-1
#3.X 商:-2.5 余数:-1
#C 商:-2 余数:1

5.0 / -2
#2.X 商:-2.5 余数:-1.0
#3.X 商:-2.5 余数:-1.0
#C 商:-2.5 余数:C中的%取余运算符不支持浮点数类型
复制代码

上面比较有意思的是对于%取余运算,在Python中,和C语法不同的是,取余运算符支持浮点数运算,并且如果操作数有浮点数,那么返回的结果类型也是浮点型。

 

X // Y

//运算对于Python2.X和Python3.X来说,效果是一样的,无论操作数都是整数,还是包括浮点数,//都会向下取整,当然对于有浮点数的计算,结果仍会以浮点数形式返回,比如-5.0 // 2,结果是-3.0:

复制代码
-5 // 2
#2.X 商:-3 余数:1
#3.X 商:-3 余数:1
#C 商:-2 余数:-1

-5.0 // 2
#2.X 商:-3.0 余数:1.0
#3.X 商:-3.0 余数:1.0
#C 商:-2.5 余数:C的取余运算不支持浮点数
复制代码

 

通过上面的例子可以知道,在Python中,余数的符号和除数相同(而在C中,余数的符号和被除数相同),有了这一点,就可以算出商的大小和符号

posted @   chaoguo1234  阅读(38136)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示