python2與python3 版本區別


編碼

  • python2默認編碼器為ascii碼(只支持字母和符號)python3默認編碼器為utf-8(所有語言都支持)

輸入輸出

  • python2 name = raw_input("請輸入姓名") python3 name =input("請輸入姓名")
  • 在python2 print "gkf" python3 print("gkf") python2.7版本兩種寫法都支持

中文

  • python2 coding:utf-8(文件頭加,支持中文)
  • 如: # -- coding:utf-8 --

除法

  • py2除法除盡 from_future_ import division 需導入模塊
  • py3默認地板除(除盡)
  • py2只取整數部分,小數不保留

長整形

  • py2 有長整型后跟L表示 py3中沒有長整形(long)自動轉化

內置函數map

  • 內置函數map 結果py3不展示 py2直接展示
    • y2:返回列表
    • py3:返回迭代器,可以循環但不可以索引

xrange

  • py2 xrange(不會立即生成,而是遍循環遍創建)/range(在內存中把所有的值立即生成) py3 range 要想實現xrange list(range(數字))

init

  • 對於包的定義:
    • py2:文件見中必須有 _ _init _ _.py 。
    • py3:不需要 _ init _.py .

reduce

  • reduce() 函數在 python 2 是內置函數, 從python 3 開始移到了 functools 模塊。

字符串類型

  • 字符串類型不同
    • py3: str bytes
    • py2: unicode str

dict字典

  • 字典
    • keys
      • py2:列表
      • py3:迭代器,可以循環但不可以索引
    • values
      • py2:列表
      • py3:迭代器,可以循環但不可以索引
    • items
      • py2:列表
      • py3:迭代器,可以循環但不可以索引

經典類 新式類

  • 面向對象多繼承查找

    • Py2經典類: 深度優先
    • 新式類: 廣度優先
  • 面向對象新式類和經典類

    ​ 經典類:

    • Py2:沒有super()方法
    • 沒有mro()方法:類的查找順序
    • 深度優先

    ​ 新式類:

    • super按照mro的查找順序,查找自己的下一個類

未完待補充

歡迎補充~

作 者: 郭楷豐
聲援博主:如果您覺得文章對您有幫助,可以點擊文章右下角 推薦一下。您的鼓勵是博主的最大動力!
自 勉:生活,需要追求;夢想,需要堅持;生命,需要珍惜;但人生的路上,更需要堅強。 帶着感恩的心啟程,學會愛,愛父母,愛自己,愛朋友,愛他人。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM