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