Python3與Python2的差異

2022-07-03 11:30:13 字數 2582 閱讀 9509

基於python3**python3與python2的差異。由於現今主流python3,但是之前用python2做的專案,還得維護,所以作為python工作者,不免要了解其中差異,其中,python2 有 ascii str() 型別,unicode() 是單獨的,不是 byte 型別。而 python3.x 原始碼檔案預設使用

utf-8編碼

,以及乙個位元組類:byte 和 bytearrays。這就使得以下**是合法的:

編碼差異:

我 = 'zhongguo'

print(我)

python3結果:zhongguo

注:python2中是不合法的,不論是**還是注釋都是不能出現漢字的,除非申明:#!/usr/bin/python -*- coding: utf-8 -*

-作為一種預設規範或者**素養,通常不用漢字,盡量讓**寫的python點!

python3與python2最大的區別就是

print輸出

,請參考print的使用:

python 3版本中print語句沒有了,取而代之的是print()函式。

print差異:

正確輸出"life is short we neeed python!"**如下:

print('life is short we neeed python!')

python3結果:life is short we neeed python!

python2中的列印:

print "life is short we neeed python!"/

print 'life is short we neeed python!'/

print ('life is short we neeed python!')

輸出結果都是一樣的!

整除差異

> print(7/3)

>

python3結果:2.3333333333333335

> python2結果:2

> python3表示整除是print(7//3)

不等號的差異:

python2中不等於有兩種寫法 != 和 <>

python3中去掉了<>, 只有!=一種寫法

整型的差異:

python2中有一種整型—int和長整型-long

python3中只有一種整型—int

提示資訊的差異:

python2中raw_input( "提示資訊" )和input( "提示資訊" )

python3中只有input( "提示資訊" )

開啟檔案的差異:

python2中file( ..... )或 open(.....)

python3中只有open(.....)

map、filter 和 reduce的差異:

python2在互動模式下:

>

>

> map

function

map>

>

>

> filter

function

filter

>

>

>

> reduce

function

reduce

>

它們輸出的結果型別都是列表:

>

>

> map(lambda x:x +2, [4,1,3])

[6, 3, 5]

>

>

> filter(lambda x:x %2 ==0,range(9))

[0, 2, 4, 6, 8]

python3在互動模式下:它們從函式變成了類,其次,它們的返回結果也從當初的列表成了乙個可迭代的物件

>

>

> map

>

>

> map(print,[1,2,3])

object

at0x10d8bd400

>

>

>

> filter

>

>

> filter(lambda x:x % 2 == 0, range(10))

object

at0x10d8bd3c8

>

遍歷元組

對於比較高階的 reduce 函式,它在 python3中已經不屬於 built-in 了,被挪到 functools 模組當中。

如果需要編寫乙個

遍歷元組

的列表解析,python2不需要在元組值周圍加上括號。在python3裡,這些括號是必需的。

python2中[ i for i in 1, 2]

python3中[i for i in (1,2)]

獲得一定範圍內的數字

python2裡,有兩種方法獲得一定範圍內的數字:range(),返回乙個列表,還有xrange(),返回乙個迭代器。

python3 裡,range()返回迭代器,xrange()不再存在。

python2中[ i for i in 1, 2]

python3中[i for i in (1,2)]

歡迎關注小婷兒的部落格

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...