「 閱讀文本大概須要 4.2 分鐘python
本文首發於公衆號「Python知識圈」,歡迎關注。c++
作任何事情以前,咱們都要了解事情的前因後果,學習一門語言也是如此。只有知根知底,咱們纔能有明確的方向和目標,今天我帶你們來看看 python 的前世此生。程序員
誕生正則表達式
創始人:Guido van Rossum。
國籍:荷蘭。
主要成就:發明 Python 語言。
發明日期:1989年聖誕節。
發明初衷:爲了打發聖誕節的無趣,決心開發一個新的腳本解釋程序。
名字由來:從做者喜歡的肥皂劇「Monty Python飛行馬戲團」中得名。數據庫
語言特色編程
Python 的設計哲學是「優雅」、「明確」、「簡單」。
Python 的設計理念是:用一種方法,最好是隻有一種方法來作一件事。
因此,python 源碼具有好的可讀性。瀏覽器
爲了證實 Python 的簡潔,我給你們準備了一個福利,在七夕節送給你愛的人。
這個福利只需一行代碼就夠了。bash
print('\n'.join([''.join([('AndyLove'[(x-y)%8]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)]))
複製代碼
執行結果:網絡
心動了嗎?心動不如行動。趕忙詳細瞭解下強大的 Python。機器學習
Python 是徹底面向對象的語言。函數、模塊、數字、字符串都是對象。而且徹底支持繼承、重載、派生、多繼承,有益於加強源代碼的複用性。Python 支持重載運算符和動態類型。
Python 提供了豐富的 API 和工具,以便程序員可以輕鬆地使用 C 語言、C++、Cython 來編寫擴充模塊。Python 編譯器自己也能夠被集成到其它須要腳本語言的程序內。所以,不少人還把 Python 做爲一種「膠水語言」(glue language)使用。使用 Python 將其餘語言編寫的程序進行集成和封裝。
主要特色以下:
1 簡單
Python 是一種表明簡單思想的語言。
2 易學
Python 有極其簡單的語法。
3 免費、開源
Python 是 FLOSS(自由/開放源碼軟件)之一。
4 高層語言
使用 Python 編寫程序時無需考慮如何管理程序使用的內存一類的底層細節。
5 可移植性
Python 已被移植到不少平臺,這些平臺包括 Linux、Windows、FreeBSD、Macintosh、Solaris、OS/二、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE 甚至還有 PocketPC。
6 解釋性
能夠直接從源代碼運行。在計算機內部,Python 解釋器把源代碼轉換爲字節碼的中間形式,而後再把它翻譯成計算機使用的機器語言。
7 面向對象
Python 既支持面向過程編程也支持面向對象編程。
8 可擴展性
部分程序可使用其餘語言編寫,如c/c++。
9 可嵌入型
能夠把 Python 嵌入到 c/c++ 程序中,從而提供腳本功能。
10 豐富的庫
Python 標準庫確實很龐大。它能夠幫助你處理各類工做,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk 和其餘與系統有關的操做。
Python版本
Python 主要版本有 2.x 和 3.x。2.x 和 3.x 相比主要有哪些變化?
在進行程序調試時用得最多的語句可能就是 print,在 Python 2 中,print 是一條語句,而 Python 3 中做爲函數存在。有人可能就有疑問了,我在 Python 2 中明明也看到當函數使用。
# py2
print("hello")
#輸出:
hello
#py3
print("hello")
#輸出:
hello
複製代碼
然而,你看到的只是表象,那麼上面兩個表達式有什麼區別?從輸出結果來看是同樣的,但本質上,前者是把 ("hello") 看成一個總體,然後者 print() 是個函數,接收字符串做爲參數。
# py2
print("hello","brucepk")
#輸出:
('hello', 'brucepk')
#py3
print("hello","brucepk")
#輸出:
hello brucepk
複製代碼
這個例子就很明顯了,在 py2 中,print 語句後面接的是一個元組對象,而在 py3 中,print 函數能夠接收多個位置參數。
編碼
Python2 的默認編碼是 asscii,這也是致使 Python2 中常常遇到編碼問題的緣由之一,至因而爲何會使用 asscii 做爲默認編碼,緣由在於 Python 這門語言誕生的時候還沒出現 Unicode。Python 3 默認採用了 UTF8 做爲默認編碼,所以你再也不須要在文件頂部寫 # coding:utf-8 了。
其餘的不一樣點就不一一列舉了,由於做者已經通知你們了。
2018年3月,該語言做者在郵件列表上宣佈 Python 2.7將於2020年1月1日終止支持。用戶若是想要在這個日期以後繼續獲得與Python 2.7有關的支持,則須要付費給商業供應商。
版本選擇
因此有選擇困難症的同窗不用糾結了,
可是有些小白在我技術交流羣反饋他們如今學習 Python 仍是選擇 Python2,緣由是:網上找的教程資料都是 Python2 的,扎心了,老鐵們。我網盤裏有大量 Python3 的學習資料,公衆號回覆「py」獲取。
人生苦短,我用 Python
7 月 20 日,IEEE 發佈 2017 年編程語言排行榜:Python 高居首位。
Python 現在這麼火爆的緣由是什麼呢?如下幾點分析供參考。
12 年到 14 年是雲計算最火爆的幾年,大批創業公司和巨頭擠破頭地進軍雲計算領域,你們都在作 IAAS,最著名的雲計算開源平臺 OpenStack 就是基 於Python 開發的,爲此催生出很多 Python 崗位。
14 年到 15 年是「大衆創新,萬衆創業」口號喊得最響兩年,北京大街小巷彷佛人人都是創業者,O2O、P2P 產品如雨後春筍般冒出,什麼語言最適合快速搭建原型?固然是 Python,Python 的開發速度一個頂三。
16 年 17 年人工智能火遍大江南北,AlphaGO 的出現讓業界爲之興奮,人工智能再也不是概念,而人工智能、機器學習的首選語言就是Python。
這兩年特別是網絡爬蟲火得一塌糊塗,10個寫爬蟲的9個在用Python,爲何爬蟲這麼火,這個仍是跟大數據有關,由於數據挖掘、分析、機器學習、人工智能都須要大數據的支撐,而真正有大數據的廠商沒幾個,因此小廠不得不經過爬蟲去獲取數據。
Python 如此簡潔和強大,因此,人生苦短,我用 Python。
因此我給想轉行入 IT 的人一些建議,當你還在是選擇 Java 仍是選擇 Python 這個問題面前徘徊時,不妨想一想趨勢,雖然 Java 仍然是如今世界上最流行的語言,可是你如今學 Java,和入行多年的人來講,你毫無勝算。Python 做爲新生代的寵兒,是將來的趨勢語言。因此,當你毫無優點時,你應該把賭注所有押在趨勢上,這是最有可能讓你彎道超車的方式。
寫在最後
感謝你能看到這裏,但願我寫的東西可以讓你有到收穫,但願你們能多給點支持,該關注關注,該點贊點贊,該轉發轉發,有什麼問題歡迎在後臺聯系我,也能夠在後臺加入技術交流羣,羣裏有大神,能夠一塊兒交流學習。
推薦閱讀:
「Python知識圈」公衆號專一:
1.python 技術分享
2.python 爬蟲分享
3.資料、工具共享
歡迎關注咱們,一塊兒成長!