本文目錄一覽:
- 1、為什麼python有兩個不同的版本,並且語法規範什麼的都不相通呢?
- 2、python版本有什麼不同
- 3、虛擬環境——用於不同版本的軟件python
- 4、python版本不同影響大不大
- 5、如何讓電腦優雅得處理兩個python版本
- 6、Python的這幾個版本區別
為什麼python有兩個不同的版本,並且語法規範什麼的都不相通呢?
Python編程語言的版本已經到3.7了。Python官網對外開放的兩個大版本2.x和3.x,兩個版本並存最根本原因是為了優化2.x版本的不足,但又不能立即拋棄2.x版本。
2.x版本中2.7版本跟3.x版本的很多功能就已經很想相似了,況且早些年開源的優質項目都是2.x版本寫的,所以官網有兩個版本的文檔供學習和開發者使用。
如果是初學者建議選擇3.6版本,2.x版本當你學熟練之後再去找不同就可以了。現在市面上絕大多數開發都是拿3.x版本在做。
純手打,望採納。
python版本有什麼不同
對比python2和python3,兩者的差異如下:
1. Python3 對 Unicode 字符的原生支持。
Python2 中使用 ASCII 碼作為默認編碼方式導致 string 有兩種類型 str 和 unicode,Python3 只
支持 unicode 的 string。Python2 和 Python3 字節和字符對應關係為:
2. Python3 採用的是絕對路徑的方式進行 import
Python2 中相對路徑的 import 會導致標準庫導入變得困難(想象一下,同一目錄下有 file.py,如
何同時導入這個文件和標準庫 file)。Python3 中這一點將被修改,如果還需要導入同一目錄的文件必
須使用絕對路徑,否則只能使用相關導入的方式來進行導入。
推薦學習《python教程》
3. Python2 中存在老式類和新式類的區別,Python3 統一採用新式類。新式類聲明要求繼承 object,
必須用新式類應用多重繼承。
4. Python3 使用更加嚴格的縮進。Python2 的縮進機制中,1 個 tab 和 8 個 space 是等價的,所
以在縮進中可以同時允許 tab 和 space 在代碼中共存。這種等價機制會導致部分 IDE 使用存在問題。
Python3 中 1 個 tab 只能找另外一個 tab 替代,因此 tab 和 space 共存會導致報錯:TabError:
inconsistent use of tabs and spaces in indentation.
廢棄類差異
1. print 語句被 Python3 廢棄,統一使用 print 函數
2. exec 語句被 python3 廢棄,統一使用 exec 函數
3. execfile 語句被 Python3 廢棄,推薦使用 exec(open(“./filename”).read())
4. 不相等操作符””被 Python3 廢棄,統一使用”!=”
5. long 整數類型被 Python3 廢棄,統一使用 int
6. xrange 函數被 Python3 廢棄,統一使用 range,Python3 中 range 的機制也進行修改並提高
了大數據集生成效率
7. Python3 中這些方法再不再返回 list 對象:dictionary 關聯的 keys()、values()、items(),zip(),
map(),filter(),但是可以通過 list 強行轉換:
1. mydict={“a”:1,”b”:2,”c”:3}
2. mydict.keys() #built-in method keys of dict object at 0x000000000040B4C8
3. list(mydict.keys()) #[‘a’, ‘c’, ‘b’]
8. 迭代器 iterator 的 next()函數被 Python3 廢棄,統一使用 next(iterator)
9. raw_input 函數被 Python3 廢棄,統一使用 input 函數
10. 字典變量的 has_key 函數被 Python 廢棄,統一使用 in 關鍵詞
11. file 函數被 Python3 廢棄,統一使用 open 來處理文件,可以通過 io.IOBase 檢查文件類型
12. apply 函數被 Python3 廢棄
13. 異常 StandardError 被 Python3 廢棄,統一使用 Exception
修改類差異
1. 浮點數除法操作符“/”和“//”的區別
“ / ”:
Python2:若為兩個整形數進行運算,結果為整形,但若兩個數中有一個為浮點數,則結果為
浮點數;
Python3:為真除法,運算結果不再根據參加運算的數的類型。
“//”:
Python2:返回小於除法運算結果的最大整數;從類型上講,與”/”運算符返回類型邏輯一致。
Python3:和 Python2 運算結果一樣。
2. 異常拋出和捕捉機制區別
Python2
1. raise IOError, “file error” #拋出異常
2. except NameError, err: #捕捉異常
Python3
1. raise IOError(“file error”) #拋出異常
2. except NameError as err: #捕捉異常
3. for 循環中變量值區別
Python2,for 循環會修改外部相同名稱變量的值
1. i = 1
2. print (’comprehension: ‘, [i for i in range(5)])
3. print (’after: i =’, i ) #i=4
Python3,for 循環不會修改外部相同名稱變量的值
1. i = 1
2. print (’comprehension: ‘, [i for i in range(5)])
3. print (’after: i =’, i ) #i=1
虛擬環境——用於不同版本的軟件python
有的軟件指定 python2.7 版本環境,而高版本的python3.7不適用,這個時候就可以使用 bioconda 創建的虛擬環境,在虛擬環境中安裝python2.7
創建虛擬環境
創建python2.7環境
依賴python2.7安裝的軟件:
使用虛擬環境安裝的軟件:nanoplot、medaka、artic network、pangolin、prokka
虛擬環境指令:
python版本不同影響大不大
不大,編程類的掌握核心思想,不同版本最多操作上有點區別,就像你掌握了知識點怎麼出題你都能做出來
如何讓電腦優雅得處理兩個python版本
方法/步驟
首先當然是安裝你需要的兩個不同版本的python,這裡我安裝的是2.7和3.3的,兩個版本安裝順序無所謂。
接下來就是檢查環境變量,缺少的我們需要添加。先找到環境變量的位置。在Path環境變量中檢查以下4個變量(Path中的環境變量是以分號隔開的):
1.c:\Python27
2.c:\Python27\Scripts
3.c:\Python33
4.c:\Python33\Scripts
少哪個加哪個,注意分號隔開。
然後進入Python2.7安裝目錄找到如圖內容,把python.exe刪除。
然後進入python3.3安裝目錄。找到python.exe程序,把它重命名為python3.exe
最後打開命令行界面測試一下。執行python2命令會進入python2.7的交互環境,執行python3命令會進入python3.3交互環境。
剩下的問題就是pip的問題了。兩個python版本分別安裝了pip以後怎麼區分它們。進入python安裝路徑找到Scripts文件夾,進入裡面找到pip*-script.py,打開修改第一句為你要指定的那個python解釋器
Python的這幾個版本區別
系統區別:
1、Download Windows X86 可供電腦系統32位使用。
2、Download Windows X86-64 可供電腦系統64位使用。
版本區別:
1、Download Windows X86 web-based installer 是通過需要聯網完成安裝的文件。
2、Download Windows X86 executable installer 是可執行的安裝文件,下載後,雙擊安裝即可。
3、Download Windows X86 embeddable zip file 是可嵌入式的壓縮包文件,可以集成到其他應用中。
擴展資料:
Python2與Python3的選擇:
因為早期的 Python版本在基礎方面設計存在着一些不足之處。2008 年的時候 Guido van Rossum 又重新開發 Python 3.0(被稱為Python 3000,或簡稱Py3k),Python3在設計的時候很好地解決了這些遺留問題, 並且在性能上也有了一定的提升,。
然而 Python3 帶來的最大的問題就是不完全向後兼容,當時向後兼容的版本是Python2.6。Python開發團隊無法一下子就讓所有項目和類庫都轉到 Python3.0 上面。
所以,兩個版本就進入了長期並行開發和維護的狀態。但是就更新速度來說 ,Python3更新速度遠快於Python2的速度,因為Python2目前主要以維護為主。Python3是未來的趨勢。
原創文章,作者:IZBY,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/140508.html