Ami*_*eld 9 python syntactic-sugar integer-division
在Python中,使用//除法强制结果为整数。乘法有等价的吗?
例如,假设我有一个整数W,我按 float 缩放f。最好有一个像 这样的运算符.*,这样:
int(W*f)==W.*f
会是真的。
//不会“强制结果为整数”,这可能巧合是正确的,但以这种自以为是的方式描述运算符(我相信)会导致您认为应该存在其他类似的功能,但实际上并不存在。//是“楼层划分”,任何类型都可以重载以具有任何所需的行为。不存在“地板乘法”运算符。如果您希望将乘法结果强制为整数,您已经展示了一种完全可以接受且直接的方法来执行此操作:
int(W*f)
Run Code Online (Sandbox Code Playgroud)
不,而且不太可能添加一个,原因有两个。
当你取 12/5 时,你可以合理地想要一个整数、商或实数,所有这些都定义良好,在 python 中取不同的值(没有无限的浮动精度)并且表现不同。
当您乘以 12*5 时,您也可能需要这三个值,但值将相同。
对于像 pi * 100000 这样的东西,您需要知道最终的类型以及解析技术,例如浮点数到整数(下限、上限、最接近的舍入、向上舍入 0.5、向下舍入 0.5、银行家舍入) 。如果没有强类型,从上面传递下来就会变得一团糟,并且更容易委托给用户及其自己的需求或偏好。
| 归档时间: |
|
| 查看次数: |
10175 次 |
| 最近记录: |