如何去理解python2和python3的區別

2021-10-21 19:53:04 字數 2908 閱讀 4615

#python2和python3的區別有哪些,我們來細看

區別點:

print函式:

python 2:  print是語句(statement

print 「hello world!」

結果:hello world!ment)

python 3:  print是函式

print(『hello world!』)

#結果:hello world!

print 『hello world』

#結果:syntaxerror: missing parentheses in call to 『print』. did you mean print(『hello world』)?

整數相除:

python 2:  3/2的結果是整數

print 3 / 2

#結果:1

print 3 / 2.0

#結果:1.5

python 3:  3/2的結果是浮點數

print(3 / 2)

#結果:1.5

print(3 / 2.0)

#結果:1.5

unicode:

python 2:  有兩種字串型別:str和unicode

a = 『您好』

print a

#結果:syntaxerror: non-ascii character 『\xe6』 in file …, but no encoding declared; see for details

#在python 2中,如果**中包含非英文本元,需要在**檔案的最開始宣告編碼

#* coding:utf-8 *

a = 『您好』

print a

#結果:您好

python 3:  字串預設就是unicode

a = 『您好』

print(a)

#結果:您好

python 3中的str相當於python 2中的unicode

異常處理:

python 2:

try:

result = 1 / 0

print result except zerodivisionerror, e:

print str(e)

#結果:integer division or modulo by zero

try:

result = 1 / 0

print result except zerodivisionerror as e:

print str(e)

#結果:integer division or modulo by zero

python 3:  只支援as關鍵字

try:

result = 1 / 0

print(result) except zerodivisionerror as e:

print(str(e))

#結果:division by zero

xrange:

python 2:  有 range 和 xrange 兩個方法

區別:

#range

print range(4)

#:[0, 1, 2, 3]

#xrange

print xrange(4)

#結果:xrang(4)

python 3:  不再支援 xrange 方法

print(range(4))

#結果:range(0, 4)

for i in range(4):

print(i, end=』 ')

#結果:0 1 2 3

python 3中的 range 方法就相當於 python 2中的 xrange 方法

map函式:

python 2:  map函式返回list

print map(lambda x: x+1, range(5))

#結果:[1, 2, 3, 4, 5]

python 3:  map函式返回iterator

print(map(lambda x: x+1, range(5)))

#結果:

print(list(map(lambda x: x+1, range(5))))

#結果:[1, 2, 3, 4, 5]

filter函式在python 2和python 3中也是同樣的區別

不支援has_key:

python 2:

my_dict =

print my_dict.has_key(「age」)

print 「age」 in my_dict

#結果:true

#true

python 3:

my_dict =

print(「age」 in my_dict)

#結果:true print(person.has_key(「age」))

#結果:attributeerror: 『dict』 object has no attribute 『has_key』

centos下保留python2安裝python3

1.安裝依賴環境 yum y install zlib devel bzip2 devel openssl devel ncurses devel sqlite devel readline devel tk devel gdbm devel db4 devel libpcap devel xz d...

centos下保留python2安裝python3

1.安裝依賴環境 yum y install zlib devel bzip2 devel openssl devel ncurses devel sqlite devel readline devel tk devel gdbm devel db4 devel libpcap devel xz d...

python2和python3如何共存並都可用

借用py的乙個引數來呼叫不同版本的python。py 2呼叫python2,py 3呼叫的是python3.當python指令碼需要python2執行時,只需在指令碼前加上,然後執行py py即可。python2 當python指令碼需要python3執行時,只需在指令碼前加上,然後執行py py即...