Python2?Python3?Python2?Python3?到底學哪個好啊?2333333
The best way to learn a programming language is to write a lot of code and read a lot of code.
當一個事物出現新舊兩種形態時
總會有人糾結是新的好?還是舊的好?
新的邁向未來,大勢所趨
舊的成熟,性能穩定
……
這些事情每天都再發生
手機系統更新
汽車升級換代
甚至國家改革
當然
今天我們不講以上這些
我們來講講既然選擇學習Python
那是學Python2好?還是Python3好呢?
這就得先說說Python語言的發展歷史了
1989年,Python之父Guido(龜叔)開始寫python語言的編譯器
1991年,第一個python編譯器誕生
1994年,Python 1.0增加了 lambda, map, filter and reduce.
1999年,Python的web框架之祖——Zope 1發布
2000年,Python 2.0,加入了內存回收機制,構成了現在Python語言框架的基礎
2004年,Python 2.0,同年目前最流行的WEB框架Django 誕生
2006年,Python 2.5
2008年,Python 2.6
2010年,Python 2.7
2014年11月,Python2.7將在2020年停止支持的消息被發布,並且不會在發布2.8版本,建議用戶儘可能的遷移到3.4+
2008年,Python 3.0
2009年,Python 3.1
2011年,Python 3.2
2012年,Python 3.3
2014年,Python 3.4
2015年,Python 3.5
2016年,Python 3.6
2017年,Python 3.7
Python最初發布時,在設計上有一些缺陷,比如Unicode標準晚於Python出現,所以一直以來對Unicode的支持並不完全,而ASCII編碼支持的字元有限。例: 對中文支持不好。
Python3相對Python早期的版本是一個較大的升級,Python3在設計的時候沒有考慮向下兼容,所以很多早期版本的Python的程序無法在Python3上運行。
為了照顧早期的版本,推出過渡版本2.6——基本使用了Python 2.x的語法和庫,同時考慮了向Python 3.0的遷移,允許使用部分Python 3.0的語法與函數。
2010年繼續推出了兼容版本2.7,大量Python3的特性被反向遷移到了Python2.7,同時擁有大量3中的特性和庫,並且照顧了原有的Python開發人群。
Python 2.7是2.x系列的最後一個版本,已經停止開發,不再增加新功能。2020年終止支持。所有的最新的標準庫的更新改進,只會在3.x的版本里出現。龜叔決定清理Python2.x ,並且不再兼容舊版本。 最大的一個改變就是使用Unicode作為默認編碼。Pyhton2.x中直接寫中文會報錯,Python3中可以直接寫中文了。
從開源項目看,支持Python3的比例已經大大提高,知名的項目一般都支持Python2.7和Python3+。Python3比Python2更規範統一、去掉了沒必要的關鍵字。
Python3.x還在持續改進中……
看到這裡,你是否已經心裡有數了呢?
其實不管Python是2.X還是3.X,我們要搞明白一件事,Python語言的最大優勢並不是語言本身的特性,而是它擁有腳本語言中最豐富的第三方包(模塊,庫或者叫什麼也好),這是其他任何語言都無法比擬的巨大優勢。
其實,網友給的這個回復挺好:
因為不管什麼時期都會有以下這些問題出現的^_^
你覺得呢?
END


TAG:Python |