python2與Python3的區別

2022-08-29 14:39:19 字數 1567 閱讀 8110

python2與python3之間的主要區別

# py2

>>> print("hello", "world")

('hello', 'world')

# py3

>>> print("hello", "world")

hello world

python2中輸入

print

後面可以不加()可以加()

python3中輸入

print

後面必須加()

py2中不需要換行輸出時,輸入後面新增「

,」逗號

py3中不需要換行輸出時,輸入後面新增「

end=」」」   

# py2

>>>print 「hello world!」,;print 「hi」

hello world!hi

>>>print 「hello world!」;print 「hi」

hello world

hi#py3

>>>print(「hello world!」,end=」」)

hello world!>>>

>>>print (「hello world!」)

hello world!

py2:input_raw()

py3:input()

py2:必須顯示的在引數中寫上基類

py3:直接無引數呼叫即可

py2:返回0

py3:返回0.5,沒有了int和long的區別

py2:預設編碼ascii

py3:預設編碼utf-8

而且為了在py2中使用中文,在頭部引入coding宣告,不推薦使用

py2:unicode型別表示字串序列,str型別表示位元組序列

py3::str型別表示字串序列,byte型別表示位元組序列

py2:true 和 false 在 python2 中是兩個全域性變數,可以為其賦值或者進行別的操作,初始數值分別為1和0,雖然修改是違背了python設計的原則,但是確實可以更改

py3:修正了這個變數,讓true或false不可變

py2:當中許多返回列表的方法,如range,字典物件的 dict.keys()、dict.values() 方法, map、filter、zip;並且迭代器必須實現next方法

py3:將返回列表的方法改為了返回迭代器物件,內建了__next__,不用特意去實現next

py2:沒有辦法在巢狀函式中將變數宣告為乙個非區域性變數,只能在函式中宣告全域性變數

py3:nonlocal方法實現了,示例如下:

def func():

c = 1def foo():

c = 12foo()

print(c)

func() #1def func():

c = 1def foo():

nonlocal c

c = 12foo()

print(c)

func() # 12

Python 2 與Python 3的區別

1.除號 與整除號 python 2中,是整除 python 3中,是常規除法,是整除 2.raw input與input python 2用raw input python 3用input 都表示輸入函式。3.print與print 以及逗號 python 2中,print my print na...

Python3 與 Python2 的不同

至於學習 python3 和 python2,我了解到的觀點是這樣的。1 現在很多的專案都還是在用 python2,學習 python2 還是有意義的 2 python2 在 python 的官方已經公布了在什麼什麼時間停止維護,所以對於新手來說,學習 python2 的價值不是很大,所以直接 py...

Python2 與Python3 的區別

1.print函式 py2中print是乙個語法結構,如 print value py3中print是乙個函式,如 print value 2.除法運算 py2中兩個整數除法得到的是0,要想得到浮點數結果,則被除數或除數二者要有乙個是浮點數才行。如 print 1 4 0 print 1 4.0.2...