Life is simple ,I use Python.
代碼:代碼是現實世界事物在計算機世界中的映射
編程:將現實世界中事物用計算機語言來描述
最近在網上找了一些資料在學習Python,就想把每次的學習內容記錄下來,這也是爲了避免新學的東西容易遺忘。自己選擇Python只有一個原因,那就是興趣。作爲一個iOS開發者,我也很好奇,傳說中無所不能的Python到底是怎樣的一種語言,使用Python是否也能做出一些有意思的事情,比如爬蟲、機器學習等。下面的系列文章就是我的Python學習之旅。
一、瞭解Python
Python並不是一門新興的語言,反而是誕生於上世紀90年代初的語言。 隨着大數據與人工智能的流行,Python逐步的流行起來。Python就像一個技術的潤滑劑,大多數互聯網公司或多或少都會用到,可以在開發中解決大大小小的很多問題。根據TIOBE語言排行,Python的語言排行爲第四位,熱度上升很快,其流行程度可見一斑。
說明:本系列文章是本人的Python學習記錄,在1-9篇都是在Python自帶的解釋器IDLE中編寫和運行代碼。在實際開發中專業的開發工具使用Pycharm,而做一些輕量化的開發使用的是Sublime text3或者Visual Studio Code
二、Python能做些什麼
Pyhotn幾乎是萬能的,相對於其他語言可以做的事情很多。
1.爬蟲
2.大數據與數據分析(Spark)
3.自動化運維與自動化測試
4.Web開發:Flask,Diango
5.機器學習:Tensor Flow
6.膠水語言:混合其他如C++、Java等來編程。能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕鬆的結合在一起。
三、Pthon特點
1.Python語法簡潔,靈活,優雅,哲學,編寫程序容易閱讀;
一種有趣的說法是:Python的語言風格是Pythonic,也就是很Python的意思。就像我們閱讀英文短文一樣。
2.Python支持跨平臺,可以運行在Windows、Linux以及MacOS。
3.Python是面向對象的動態語言,既有動態腳本的特性,又有面向對象的特性,非常具有自己的特點。
4.Python擁有極爲強大而豐富的標準庫與第三方庫,比如電子郵件,比如圖形GUI界面;
5.Python易於上手,難於精通;
6.Python的語言靠縮進區分代碼塊,不強制每句代碼添加分號;也不需要花括號確定作用域。
7.Python依靠縮進區分作用域,因此不支持代碼壓縮,常常以源代碼形式的存在,開源性較好。
四、Python的缺點
1.運行效率低
Python主要缺點就是一個字:慢,其相對於C、C++、Java運行效率較慢。
這主要是因爲Pyhton是一種解釋性語言,對於當前主流的編程語言大致可分爲兩類:編譯型語言(C、C++)和解釋型語言(Javascript、Python)。
編譯型語言:
程序在執行之前需要一個專門的編譯過程,把程序編譯成爲機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平臺性差些。如C、C++、Delphi等. [1]
解釋型語言:
解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。在發佈程序時,看起來省了道編譯工序。但是,在運行程序的時候,解釋性語言必須先解釋再運行
運行效率與開發效率,魚與熊掌不可兼得。類似彙編和C的運行效率很高,但是卻不適合做web開發。對於語言的選擇,適合的纔是最好的。
2.不能加密
python依靠縮進來編寫代碼,代碼不能被壓縮和混淆,所以這也註定了Python代碼不能被加密的特性。
五、Python之禪
Python的交互式編譯器內嵌了幾句話(輸入import this),被開發者稱之爲Pyhon之禪,包含了Python編程的一種大致思想和規範。
1.Simple is better than complex
簡潔勝於複雜
2.Now is better than never ,Although never is often better than right now
做也許好過不做,但不加思索就動手還不如不做