Python2与Python3区别
生活随笔
收集整理的這篇文章主要介紹了
Python2与Python3区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Python2與Python3區(qū)別
1.源碼\功能代碼
Python3源碼統(tǒng)一,沒有重復(fù)的功能代碼 Python2源碼不統(tǒng)一,有重復(fù)的功能代碼2.input
Python3中input()得到的都是字符串(str) Python2中的input()得到的是整型(int),Python2中的raw_input()得到的是字符串(str) Python 3中的 input 等同Python 2 中的 raw_input ,默認(rèn)接收的數(shù)據(jù)是str類型3.print
Python3中print為一個函數(shù),必須用括號括起來 Python2中print為語句,可以執(zhí)行代碼4./(整除)
Python3中/(整除)獲取到的默認(rèn)是浮點(diǎn)型 Python2中/(整除)獲取到的默認(rèn)是整型(int)5.默認(rèn)編碼
Python3中的默認(rèn)編碼為UTF-8,UTF-8屬于unicode編碼,支持大多數(shù)語言,且可變長度,空間較為節(jié)省。在Python 3 中寫代碼再不用聲明# coding:utf-8 Python2中的默認(rèn)編碼為ascii碼,asscii編碼是應(yīng)用于拉丁字母的編碼系統(tǒng),程序內(nèi)用中文常導(dǎo)致出現(xiàn)編碼問題。6.range
Python2中的range(0,10)是一個列表 Python3中的range(0,10)是一個可迭代對象 Python2中的xrange和Python3中的range是一樣的,都是一個可迭代對象 Python2代碼: L=range(0,10) print(L)結(jié)果: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]Python3輸入相同的代碼其結(jié)果: range(0, 10)如果想使用python3想顯示和python2同樣結(jié)果需要代碼: L=list(range(0,10)) print(L)7.整型
在Python3中所有的整數(shù)都是int類型,在Python3不存在long類型 但在Python2中如果數(shù)據(jù)量比較大. 會使用long類型(長整型)8.生成器中next()用法:
Python3中next(g) == g.__next__() Python2中只有next(g) 函數(shù)名+()---產(chǎn)生一個生成器 next(g)---啟動生成器9.reduce
Python2.x版本中recude是直接 import就可以的, Python3.x版本中需要從functools這個包中導(dǎo)入10.導(dǎo)入包(import 包)
python2中import包,如果包沒有__init__.py就報(bào)錯, python3中import包,包里沒有__init__.py不會報(bào)錯(from ... import *不能使用)11.Python的類
在python2x版本中存在兩種類: ?個叫經(jīng)典類. 在python2.2之前. ?直使?的是經(jīng)典類. 經(jīng)典類在基類的根如果什么都不寫.
?個叫新式類. 在python2.2之后出現(xiàn)了新式類. 新式類的特點(diǎn)是基類的根是object類。
python3x版本中只有一種類:
python3中使?的都是新式類. 如果基類誰都不繼承. 那這個類會默認(rèn)繼承 object
后續(xù)持續(xù)更新...
轉(zhuǎn)載于:https://www.cnblogs.com/liubing8/p/11136617.html
總結(jié)
以上是生活随笔為你收集整理的Python2与Python3区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 使用反射调用可变参数方法
- 下一篇: Python常见面试题:TCP 协议中的