python2跟python3的主要區別:
pytho3現在是主流使用的,python2已經不維護了
python2中沒有(),用引號『 』引起來;python3使用()
目前linux系統預設的python直譯器2.7
區別一:print
python2中:print是乙個語法結構,print 『hello world』或者print "hello world"都可以
python3中:print是乙個函式,print(「hello world」)或者print('hello world')都可以
括號裡面寫單引號或者雙引號都可以
在python2中
首先寫乙個純英文的.py檔案來測試:發現python2可以直接呼叫
編寫乙個漢語的.py檔案測試:發現python2不能直接識別中文
此時給檔案中加入宣告
_*_coding:utf-8_*_
發現此時python2可以識別
在python3中
編寫乙個test.py檔案不加()測試:發現不能識別
加入()測試:
發現可以識別,並且可以直接識別中文
python2誕生的時候沒有unicode,所以python2使用的預設編碼格式是asscii編碼,這也是python2經常出現編碼問題的原因之一。
python3中程式預設資料型別為unicode,所以直接將資料編碼(encode)成為想要轉換的資料型別(gbk,utf-8,gb18030,gb2312)
然後解碼成為對應的資料型別顯示在螢幕上。
也就是python2需要宣告,python3不需要宣告
python2列印漢字要宣告,python3列印漢字不需要宣告
區別二:除法運算
python2中整數相除的結果是乙個整數,把小數部分完全忽略掉,浮點數相除會保留小數點的部分得到乙個浮點數的結果,即所有的結果都是整數
python3中對於整數之間的相除,結果也會是浮點數,即所有相除的結果均用浮點數表示,//表示取整
python2中
所有相除的結果只顯示整數部分:
python3中
所有相除的結果均用浮點數表示區別三:字元型別不同若只想要整數部分,則需使用
//
python 3中沒有長整形long的概念,字元型別有int ,str,boolean或float
python 2中的字元型別有long長整形,int,float,str,boolean
python3中的變數型別
整型:int
浮點型:float
字元型:str
bool型:bool
區別四:input
python2中的raw_input()與python3中的input()功能一樣,raw_input()會把使用者輸入的任何值都作為字串來對待;而python2中的input不能讀取非字串。
python3 中只有 input(),並且把使用者輸入的任何值都作為字串來對待
python2中
python3中
在bool中,0或者空為假,非0或不是空就為真
區別五:不等運算子
python 2中不等於有兩種寫法 != 和 <>
python 3中去掉了<>, 只有!=一種寫法
python3和python2的區別
1.效能 py3.0執行 pystone benchmark的速度比py2.5慢30 guido認為py3.0有極大的優化空間,在字串和整形操作上可 以取得很好的優化結果。py3.1效能比py2.5慢15 還有很大的提公升空間。2.編碼 py3.x原始碼檔案預設使用utf 8編碼,這就使得以下 是合...
Python2和Python3的比較
python2 python3 print fish print fish unicode 是單獨的 unicode utf 8 字串 b b china byte 和 bytearrays type b type bytes s b.decode 轉化成 string 型別b1 s encode ...
python3和python2的區別
這個星期開始學習python了,因為看的書都是基於python2.x,而且我安裝的是python3.1,所以書上寫的地方好多都不適用於python3.1,特意在google上search了一下3.x和2.x的區別。特此在自己的空間中記錄一下,以備以後查詢方便,也可以分享給想學習python的frie...