簡說python
發展歷史
Python是著名的“龜叔”Guido van Rossum在1989年圣誕節期間,為了打發無聊的圣誕節而編寫的一個編程語言。
python從ABC語言發展起來,受到Modula-3的影響,同時結合了Unix shell和C的習慣
如今python已成為最受歡迎的程序設計語言之一,根據TIOBE提供的編程語言指數走勢圖可以發現python近些年的占有率一直保持著增長勢頭。
還是那句口號,
人生苦短,我學python
語言特性
Python是完全面向對象的語言
Python的設計哲學是“優雅”、“明確”、“簡單”。
盡量寫容易看明白的代碼,盡量寫少的代碼,具有限制性很強的語法,使得程序更加清晰和美觀。
主要應用領域
- Web和Internet開發
- 桌面界面開發
- 科學計算和統計
- 人工智能
- 軟件開發
- 后端開發
2.X與3.X的主要區別
大概來說,3是2的升級版本,就是新手上手程度而言,個人認為3明顯比2更為好上手,且其中2中很多長期無人維護的庫則在3中已經消失。官網也宣布Python 2.7將于2020年1月1日終止支持。兩者的具體差別:
print函數
Python3中print為一個函數,必須用括號括起來;Python2中print為class
print 'python' # Python2.X
print("python") # Python3.X
整除
Python3中/表示真除,%表示取余,//結果取整;Python2中帶上小數點/表示真除,%表示取余,//結果取整
# Python2
print '3 / 2 =', 3 / 2 # 結果為1
print '3 // 2 =', 3 // 2 # 結果為1
print '3 / 2.0 =', 3 / 2.0 # 結果為1.5
print '3 // 2.0 =', 3 // 2.0 結果為1
# Python3
print('3 / 2 =', 3 / 2) # 結果為1.5, 兩者的差異處
print('3 // 2 =', 3 // 2) # 結果為1
print('3 / 2.0 =', 3 / 2.0) # 結果為1.5
print('3 // 2.0 =', 3 // 2.0) # 結果為1
xrange模塊
在 Python 3 中,range() 是像 xrange() 那樣實現以至于一個專門的 xrange() 函數都不再存在(在 Python 3 中xrange() 會拋出命名異常)。
unicode
Python 2 有 ASCII str() 類型,unicode() 是單獨的,不是 byte 類型。
現在, 在 Python 3,我們最終有了 Unicode (utf-8) 字符串,以及一個字節類:byte 和 bytearrays。
# Python2
str = "我愛北京天安門"
print 'str'
# 輸出-> ‘\xe6\x88\x91\xe7\x88\xb1\xe5\x8c\x97\xe4\xba\xac\xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8’
# Python3
中國 = 'china'
print(中國)
# 輸出 -> 'china'
不等運算符
- Python2.x中不等于有兩種寫法!=和<>
- Python3.x中去掉了<>,只有!=一種寫法
數據類型
- Python3.x去除了long類型,現在只有一種整形——int,但它的行為就像2.x中long
- 新增了bytes類型,對應于2.x的八位串
- dict的.keys()、.items和.values()方法返回迭代器,而之前的iterkeys()等函數都被廢棄。同時去掉的還有dict.has_key(),用in來代替它
異常
在 Python 3 中處理異常也輕微的改變了,在 Python 3 中我們現在使用 as 作為關鍵詞。捕獲異常的語法由 except exc, var 改為 except exc as var。使用語法except (exc1, exc2) as var可以同時捕獲多種類別的異常。 Python 2.6已經支持這兩種語法。
- 在2.x時代,所有類型的對象都是可以被直接拋出的,在3.x時代,只有繼承自BaseException的對象才可以被拋出。
- 2.x raise語句使用逗號將拋出對象類型和參數分開,3.x取消了這種奇葩的寫法,直接調用構造函數拋出對象即可。
- 在2.x時代,異常在代碼中除了表示程序錯誤,還經常做一些普通控制結構應該做的事情,在3.x中可以看出,設計者讓異常變的更加專一,只有在錯誤發生的情況才能去用異常捕獲語句來處理。
擴展閱讀
其實就全球下載量而言,python2的使用量遠遠超過python3,在國內多家互聯網頂尖公司中python2的使用程度也是遠遠高于python3。
python2的終止支持不代表我們就不能去學習python2,其實python2種有很多很好的庫(但因為長期無人維護在3中無法使用),此外兩者間差異其實不算很大,只要注意其中的差別就可以"兩開花"。`
國內招聘網站對python相關職位的需求待遇
分析了前程無憂網約100頁關于python崗位的數據, 得到了如下的結果
python崗位的薪資一般都在0.8w+
薪資 | 提供該工資的公司數量 |
---|---|
1-1.5萬/月 | 634 |
1.5-2萬/月 | 340 |
0.8-1萬/月 | 268 |
6-8千/月 | 259 |
1-2萬/月 | 255 |
0.8-1.5萬/月 | 208 |
1.5-2.5萬/月 | 197 |
0.8-1.2萬/月 | 147 |
0.6-1萬/月 | 110 |
2-2.5萬/月 | 104 |
招聘python崗位的公司集中在北上廣深等大城市
主要招聘崗位詞云圖
可以發現其中較受歡迎的崗位為軟件、前后端開發、大數據、運維、算法開發等方向
基于以上的分析,可以說python就業前景是非常可觀的,同時伴隨著如今人工智能的發展,相信在未來python的應用前景也會越來越廣泛。
文章部分內容參考自:
- https://blog.csdn.net/qq_39521554/article/details/80855086
- https://blog.csdn.net/qq_38526635/article/details/81710721
- https://www.runoob.com/python/python-2x-3x.html
- https://blog.csdn.net/God_favored_one/article/details/78926563
- https://blog.csdn.net/u010070526/article/details/81782082
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
