欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

新手學python應該如何選擇python2和python3

錢多多2年前16瀏覽0評論

新手學python應該如何選擇python2和python3?

大家在初學 Python 編程的時候往往都會有一個疑慮,到底是選擇 Python 2 還是選擇 Python 3 呢?給大家示例解讀一下 Python 2 和 Python 3 之間的主要區別,怎么選你自己心里就有答案了!

1. print 語句

python 2 中 print 是一個語句,語句就意味著可以直接跟要打印的東西,不論想輸出什么,直接放到 print 關鍵字后面即可(注:在 Python 2 中想讓 print 也當函數使用,可以導入 future 模塊 中的 print_function)

Python 2

python 3 里,print() 是一個函數,函數就表示要加上括號才能調用,像其他函數一樣,print() 需要你將要輸出的東西作為參數傳給它

Python 3

2. raw_input() 和 input() 輸入函數

python 2 有兩個全局函數,用在命令行請求用戶輸入。第一個叫 input(),它等待用戶輸入一個 python 表達式(然后返回結果);第二個叫做 raw_input(),返回的結果為用戶輸入的值value = raw_input ("input values")

python 3 中使用 input()value = input ("input values")

3. 使用 super() 的不同

python 2:必須顯示的在參數中寫上基類

python 3:可以不用再給super()傳參數,直接無參數調用即可

4. 編碼和字符串

python 2:默認編碼 ascii,unicode 類型表示字符串序列,str 類型表示字節序列

python 3:默認編碼 utf-8,str 類型表示字符串序列,byte 類型表示字節序列(注:因為源碼文件默認使用 utf-8 編碼,所以用中文給變量命名是合法的,但是不推薦使用)

5. True 和 False

python 2:True 和 False 在 Python 2 中是兩個全局變量,可以為其賦值或者進行別的操作,初始數值分別為 1 和 0,可以對其進行修改

python 3:True 或 False 不可變

6. range 和 xrange

python 2 中有 range: range([start,] stop[, step]),根據 start 與 stop 指定的范圍以及 step 設定的步長,返回值是一個列表;xrange 和 range 的用法完全相同,但是返回的是一個生成器

python 3 中只有 range,并且python 3 中的 range 等同于 python 2 中的 xrange,返回一個生成器,想要使用 range() 獲得一個 list,必須顯式調用

list(range(10))[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

7. package

package 在 python 2 中必須有 init 方法

在 python 3 中可以沒有 init 方法

8. 迭代器

python 2:有很多返回列表的方法,如 range(),字典對象的 dict.keys()、dict.values() 方法, map()、filter()、zip() etc...并且迭代器必須實現 next 方法

python 3:將返回列表的方法改為了返回迭代器對象,并且內置了 next,所以不用特意去實現 next 方法

9. 除法的結果

在 python 2 中,除法的取值結果取整數(注:如果希望結果取小數,需要導入 future 模塊 中的 division)

Python 2

在 python 3 中,除法 / 的結果包含小數,使用 // 只取整數

Python 3

10. Long長整型

python 2 有 int 和 long 類型。且 int 類型最大值不能超過 sys.maxint。可以通過在數字的末尾附上一個L來定義長整型,顯然,它比int類型表示的數字范圍更大

python 3 只有一種整數類型 int,大多數情況下,和python2中的長整型類似

11. 比較運算符

python 2 支持 <> 等同于 !=

python 3 只支持 !=,不再支持<>

12. 對元組的列表解析

在 python 2 里,如果需要編寫一個遍歷元組的列表解析,不需要在元組值周圍加上括號

python 2:[ i for i in 1, 10]

在 python 3 里,括號是必需的

python 3:[i for i in (1,10)]