电竞比分网-中国电竞赛事及体育赛事平台

分享

Python學習教程(Python學習路線):Python2和Python3如何選擇?

 千鋒Python學堂 2019-05-22
  • 大家在初學 Python 編程的時候往往都會有一個疑慮,到底是選擇 Python 2 還是選擇 Python 3 呢?之前也有Python學習教程跟大家分享過Python3學習教程,那么這里跟大家總結一下Python2和Python3的區(qū)別!

  • 1. print 語句

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

  • Python 2

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

  • Python 3

  • 2. raw_input() 和 input() 輸入函數(shù)

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

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

  • 3. 使用 super() 的不同

  • python 2:必須顯示的在參數(shù)中寫上基類

  • python 3:可以不用再給super()傳參數(shù),直接無參數(shù)調(diào)用即可

  • 4. 編碼和字符串

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

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

  • 5. True 和 False

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

  • python 3:True 或 False 不可變

  • 6. range 和 xrange

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

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

    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...并且迭代器必須實現(xiàn) next 方法

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

  • 9. 除法的結果

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

  • Python 2

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

  • Python 3

  • 10.  Long長整型

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

  • python 3 只有一種整數(shù)類型 int,大多數(shù)情況下,和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)]


其實無論2或者3都差不多,個人會偏向3多一些,語法上較于2寫起來更順手些!后期會為大家總結更多Python學習教程和Python學習路線!

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多