/:表示精確的真除法。魔法方法為?truediv。
/ 無需介紹-
//:表示地板除。魔法方法為?floordiv。
// 被稱為地板除是因為其結果等價于對 / 的結果向下取整。設操作數 m 和 n 是整數,于是有關系m?//?n?=?floor(m?/?n)
即便 m 或 n 是負數時,這一關系依然成立。例如
In?:?5?//?2 Out:?2 In?:?-5?//?2 Out:?-3 In?:?5?//?-2 Out:?-3 In:?-5?//?-2 Out:?2
-
%:表示求模。魔法方法為?mod。
% 的結果與 // 的結果密切相關,它們一定滿足
q?=?m?//?n r?=?m?%?n q?*?n?+?r?=?m
所以 % 的結果可以通過 r = m - q * n 計算得到。例如 -5 % 2 就等于 1。Python 中的 divmod 函數能夠同時返回 // 和 % 的結果,方便我們觀察結果。例如
In?:?divmod(-5,?2) OUt:?(-3,?1)
再擴展一下,即便 m 或 n 是浮點數,結果依然遵循上面的計算流程,不過此時 // 和 % 的結果都會變成浮點型。例如
In?:?divmod(5.5,?2) Out:?(2.0,?1.5) In?:?divmod(-5.5,?2) Out:?(-3.0,?0.5)
此外可以觀察到,在地板除的定義下,除數 n 和模 r 總是同號的。其它語言中 /、//(如果有的話)和 % 行為可能跟 Python 不同,使用時需要多加小心。
Python 中關于除法的三種運算符
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 參考鏈接: 布爾邏輯和非按位運算符[https://www.imangodoc.com/182.html] JAV...
- 推薦:Python全棧教程!花了29980買的從入門到精通課程,分享給大家[https://www.bilibil...
- 龜叔(Guido)對語言設計美學的理解非常厲害。我見過很多語言設計者,他們可以寫出理論上很美的編程語言,但使用者寥...