1. 程式人生 > >Python2與Python3中除法功能的異同

Python2與Python3中除法功能的異同

       Python 2中的除法以及除法的取餘功能跟C語言中的除法以及取餘功能全都類似,作為C語言的程式設計師接受起來還是很簡單的。但是Python 3中的除法預設改成了進行高精度的浮點計算,這樣就有時候讓人覺得有些不適應了。

       我個人覺得,既然是高一些的版本,Python3肯定是最後的大勢所趨。因此自己的電腦上安裝的只有Python 3。慢慢脫離了Python 2只用Python 3,最終寫程式碼寫習慣了回到Python 2的時候就遇到各種不適應了。關於除法,就是一個很好的佐證。

       總結一下Python 3中的除法功能。寫如下程式碼:

m = 10

n = 3

q = m / n

r = m % n

print("q =",q)

print("r =",r)

       執行結果如下:

q =  3.3333333333333335

r =  1

       從上面的結果看出,其實除法運算實現的是浮點運算,而取餘的功能還是與之前一致的。如果想要實現Python 2的除法效果,其實簡單想想就有兩個方法可以實現。具體如下:

>>>int(m/n)

3

>>> (m -m % n)/n

3.0

       從上面的操作記錄來看,其實第二種方法也只是實現了一個小數點後面的數值為0的一個浮點運算而已。從等效結果來看,還是使用強制轉換來的簡單一些。

       其實,py2與py3的這個變化的最初目的我也有些沒有弄明白,倒也沒見的有什麼特別方便的。不過,我倒是蠻喜歡的,因為數值的計算更加接近於計算器了。Py2也不見得比py3好用,只是它更適合C程式設計師的思維而已。獲得等效py3的運算效果,py2可以從feature中引入同樣的效果,也可以直接使用float進行強制轉換。我更新換後者,這樣看,一個需要float轉換,一個需要int轉換,兩個到底誰更簡單也不好說清楚。這更讓我對其設計初衷感興趣了,回頭這部分倒是可以繼續追查一下。

相關推薦

Python2Python3除法功能異同

       Python 2中的除法以及除法的取餘功能跟C語言中的除法以及取餘功能全都類似,作為C語言的程式設計師接受起來還是很簡單的。但是Python 3中的除法預設改成了進行高精度的浮點計算,這樣就有時候讓人覺得有些不適應了。        我個人覺得,既然是高一些的

python2python3編碼解碼的區別

需要 顯示 數據類型 在屏幕上 nbsp gb2312 python2 想要 區別 python2中程序默認數據類型為ASCII, 所以需要先將數據解碼(decode)成為Unicode類型, 然後再編碼(encode)成為想要轉換的數據類型(gbk,utf-8,gb180

關於Python2Python3的range

Python2中用range函式編寫一個有序列表,用random.shuffle()函式,打亂原有順序的列表 import random a=range(10) random.shuffle(a) print a 此時輸出結果為

使用python2python3md5的區別以及需要注意的地方

你可能不知道的是,有很多字元,使用python2和python3的md5加密出來的結果是不一樣的     # python2.7 zfc = "xxx" + chr(163) + "fj" cd = hashlib.md5(zfc).h

Python2python3的編碼問題

Python3資料型別存的是str:Unicode 和bytes:bytes Python2資料型別存的是str:bytes 和unicode:unicode python2 : print "中國"+u"美" 是不能拼接的 而 print “hello”+u"World

Python2Python3除法操作-的不同

X/Y 在3.0版本之前的Python中 >>>1/2 0 即一個整數(無小數部分的數)被另外一個整數除,計算結果的小數部分被截除了,只留下了整數部分 有時候,這個功能比較有用,譬如在做一些需要取位數上的值時可以利用此特性用於迴圈結束等,但通常,大家用不到

python2python3除法

【背景】有一道演算法題,在直角座標系的第一象限內,NxN的區域內有多少個能與原點直線相連又不經過其他整數點的點 我本來想根據資料推理總結出數學公式來,但是歸納了半天還沒弄出來還浪費了時間,還不如直

Python2Python3__bool__方法的差異

       學習Python面向物件程式設計的時候,遇到了一個很有意思的小問題。Python的__bool__方法不起作用的問題。        我反覆讀了我手中的教程,確認了我寫的程式碼應該管用。可是在測試的時候卻一直不通過,後來發現我實現的__bool__方法似乎並不

python2 python3 request (urlopen) 的用法

此處以 python2.7 和 python3.5 為例,對於其他 2.x 和 3.x 的版本也奏效。 在 python2.7中,urlopen 是在 urllib2 下面的。 示例程式碼如下: 在 python3.5 中,urlopen 是在 url

Centos6.5實現python2python3的並存

centos6.5中實現python2與python3的並存linux下python的安裝安裝步驟如下1 準備編譯環境 yum groupinstall ‘Development Tools‘ yum install zlib-devel bzip2-devel openssl-devel ncur

Python的元組,字典、計算器代碼實例及python2python3的區別

所有 time tor result inpu __name__ 字符 img 歡迎來到 1.計算器實例#/usr/bin/env python # -*- coding:utf-8 -*- # @time :2018/1/22 21:09 # @Author :Fen

Win10環境安裝Python2python3,並配置TensorFlow環境

安裝前需要知道的知識是: 1.TensorFlow只支援Python3版本 2.Python2與Python3他們預設的.exe執行檔案,名字均為:python.exe。要使他們共存必須要對他們的名字修改,否則,在win10命令框中,輸入Python命令時,會報錯“不是內部指令”。 3.安裝

windowspython2python3共存

python及pip安裝 一、python3及pip安裝 在python官網下載並安裝需要版本的python3 安裝過程中選擇“Add Python 3.6 to PATH”,並選擇自定義安裝 (可以選擇64位來裝,我只是截個圖示意下。。) 裝的時候pip

深入淺出帶你瞭解Python2Python3異同

最近C語言的學習告一段落,為了新的演算法學習開始重新撿起python。和兩年前不同,這次我選擇了最新的3.6而不是2.7。當然,入手的教材都是3的語言描述。為了簡單的瞭解2和3的區別,我在網上翻閱了不少資料,分享給大家。 儘管版本在不斷跌進,但是人們總是喜歡懷舊。比如現

詳解:Python2的urllib、urllib2Python3的urllib以及第三方模組requests

先說說Python2中的url與urllib2(參考此處): 在python2中,urllib和urllib2都是接受URL請求的相關模組,但是提供了不同的功能。兩個最顯著的不同如下: 1、urllib2可以接受一個Request類的例項來設定URL請求的headers,

關於Python2python3共存的一點補充

python2 python3 本人實驗是在windows下cmd環境下完成的。 py -2與py -3分別指定運行python2和python3。但python命令依然可以使用,默認進入python3,virtualenv是使用pip3安裝的,只能新建python3的虛擬環境。 py -2

win10下安裝python2python3以及pip共存

用戶目錄 strong exe 路徑 org enc setup 最新版 .com 一 分別安裝python2和python3 註意: 安裝時記得勾選 Add Python.exe to Path 二 安裝pip Python3最新版本有pip,無需安裝 Pytho

Python2Python3的區別收集

python3 列表 2.7 tel edits str more 推導 test 1、python2中,在列表推導中for關鍵字之後的賦值操作可能會影響到列表推導上下文中的同名變量: Python 2.7.8 (default, Jun 30 2014, 16:03:49

Python2Python3print的不同點

換行 避免 不換行 現在 lap 信息 內置 引號 輸出字符串 在Python2和Python3中都提供print()方法來打印信息,但兩個版本間的print稍微有差異 主要體現在以下幾個方面: 1.python3中print是一個內置函數,有多個參數,而python2中p

Windows下python2python3兼容設置

win force sin span window 新版 安裝python spa 改名 分別安裝python2與python3後,我想直接通過命令python2、pip2與python3、pip3區分: 分別進入python安裝目錄下,修改python.exe為pytho