Python2和Python3的區(qū)別
1. print函數(shù)在Python2中,我們可以使用print語句來輸出內(nèi)容。但是在Python3中,print語句被廢棄了,只能使用print函數(shù)來輸出內(nèi)容。2. Unicode編碼在Python2
1. print函數(shù)
在Python2中,我們可以使用print語句來輸出內(nèi)容。但是在Python3中,print語句被廢棄了,只能使用print函數(shù)來輸出內(nèi)容。
2. Unicode編碼
在Python2中,字符串默認是ASCII編碼的。如果要支持中文,我們需要更改字符集,并在.py文件頭部添加` -*- coding: utf-8 -*-`這樣的聲明。而在Python3中,字符串默認是Unicode(utf-8)編碼的,所以直接支持中文作為標識符,無需額外設置。
3. 除法運算
在Python2中,/除法規(guī)則是整數(shù)相除的結(jié)果是一個整數(shù),小數(shù)部分會被忽略掉。如果想得到浮點數(shù)的結(jié)果,需要使用浮點數(shù)進行除法運算。而在Python3中,/除法不再如此,無論是整數(shù)相除還是浮點數(shù)相除,結(jié)果都會是浮點數(shù)。
4. xrange和range
在Python3中,不再使用xrange方法,只有range方法。在Python2中,range返回一個列表,而在Python3中,range返回一個可迭代對象。
5. 八進制字面量表示
在Python2中,八進制數(shù)可以寫成0o777或者0777。而在Python3中,表示八進制字面量的方式只有一種,即0o1000。二進制數(shù)必須寫成0b111。此外,在Python3中新增了一個bin()函數(shù),用于將一個整數(shù)轉(zhuǎn)換成二進制字符串。
6. 不等于運算符
在Python2中,不等于可以用兩種寫法,即!和<>。而在Python3中,去掉了<>,只保留了!一種寫法。
以上是Python2和Python3之間的一些主要區(qū)別。熟悉這些區(qū)別可以幫助我們更好地使用和遷移Python代碼。