Python2與Python3的區別點整理

在本篇文章裏小編給大家整理的是關於Python2與Python3的區別點整理內容,需要的朋友們可以參考下。
python解釋器默認編碼(python2與python3的區別一)

python2 解釋器默認編碼:ascii
python3 解釋器默認編碼:utf-8
輸入(python2與python3的區別二)

python2:name=raw_input(‘請輸入姓名’)
python3:name=input(‘請輸入你的姓名’)
輸出(python2與python3的區別三)

python2:print “你好”
python3:print(“你好”)
數字表示(python2與python3的區別四)

python2

64位機器,範圍-263~263-1

超出上述範圍,python自動轉化爲long(長整型)

注:long(長整型)數字末尾有一個L

python3

所有整型都是int,沒有long(長整型)
整型除法(python2與python3的區別五)

python2:只能保留整數位
python3:可以保留所有內容
range / xrange(python2與python3的區別六)

python2:
xrange:不會在內存中立即創建,而是在循環時,邊循環邊創建
range:在內存立即把所有的值創建
python3:
只有range,相當於python2中的xrange
range:不會在內存中立即創建,而是在循環時,邊循環邊創建
包的定義(python2與python3的區別七)

python2:文件夾中必須有_ _ init _ .py文件
python3:不需要有
_ init _ _.py文件
字典的keys / values / items方法(python2與python3的區別八)

python2:返回列表,通過索引可以取值
python3:返回迭代器,只能通過循環取值,不能通過索引取值
map / filter(python2與python3的區別九)

python2:返回列表,直接創建值,可以通過索引取值
python3:返回迭代器,不直接創建值,通過循環,邊循環邊創建
str(字符串類型)的區別(python2與python3的區別十)(最大區別,優先寫這個)

python2:
str類型,相當於python3中的字節類型,utf-8/gbk等其他編碼
unicode類型,相當於python3中的字符串類型,unicode編碼
python2中沒有字節類型
python3:
str類型,字符串類型,unicode編碼
python3中沒有unicode類型
繼承object(python2與python3的區別十一):

class Foo:
  pass
class Foo(object):
  pass
# 在python3中這倆的寫法是一樣,因爲所有的類默認都會繼承object類,全部都是新式類。
 
# 如果在python2中這樣定義,則稱其爲:經典類
class Foo:
  pass
 
# 如果在python2中這樣定義,則稱其爲:新式類
class Foo(object):
  pass
 
# 新式類
  # 繼承object
  # 支持super
  # 多繼承 廣度優先C3算法
  # mro方法
# 經典類
  # py2中不繼承object
  # 沒有super語法
  # 多繼承 深度優先
  # 沒有mro方法

推薦我們的python學習基地,點擊進入,看老程序是如何學習的!從基礎的python腳本、爬蟲、django、數據挖掘等編程技術,工作經驗,還有前輩精心爲學習python的小夥伴整理零基礎到項目實戰的資料,!每天都有程序員定時講解Python技術,分享一些學習的方法和需要留意的小細節

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章