python2與python3 版本區別

編碼

  • python2默認編碼器爲ascii碼(只支持字母和符號)python3默認編碼器爲utf-8(全部語言都支持)
  • 在python2 print "gkf" python3 prinnt("gkf") python2.7版本兩種寫法都支持

輸入輸出

  • python2 name = raw_input("請輸入姓名") python3 name =input("請輸入姓名")

中文

  • python2 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:迭代器,能夠循環但不能夠索引

經典類 新式類

  • 面向對象多繼承查找python2.7

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

    ​ 經典類:編碼

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

    ​ 新式類:code

    • super按照mro的查找順序,查找本身的下一個類

未完待補充

歡迎補充~對象

相關文章
相關標籤/搜索