人生苦短,我用 Python

「 閱讀文本大概須要 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

在進行程序調試時用得最多的語句可能就是 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有關的支持,則須要付費給商業供應商。

版本選擇

因此有選擇困難症的同窗不用糾結了,

小白們直接選 python3 學習吧。

可是有些小白在我技術交流羣反饋他們如今學習 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 之 if 語句

100 行代碼找出你中意的書




「Python知識圈」公衆號專一:

1.python 技術分享

2.python 爬蟲分享

3.資料、工具共享

歡迎關注咱們,一塊兒成長!