1. 程式人生 > 其它 >Python——簡單and強大

Python——簡單and強大

 程式碼都敲過完了,總得留個痕跡。

轉載自本人微信公眾號----“簡單的Python”,不定期開始更新,歡迎關注。

 

01簡單

與C/C++、java、C#等語言相比,Python對程式碼的格式沒有非常嚴格,總體比較寬鬆,非常貼近人類的語言,可讀性非常好。Python與PHP、JavaScript一樣,都是一種指令碼程式語言,易於使用,舉兩個簡單的例子:

  • Python不要求在每個語句的最末尾加上分號,起初剛開始用Python時,有其他程式設計基礎的會很不習慣,不過你寫上分號也是沒問題。用久了就喜歡上這種無拘無束的編寫程式碼的感覺了。

  • 變數的定義,Python不要求指明型別。我們在Python中使用變數時,可直接對變數進行賦值,甚至可以給同一物件賦值不同型別的值,這點在其他程式語言中是比較難以接受的。


 

02強大

Python是一種面向物件的高階程式語言,它的強大體現在有眾多的模組,Python的模組基本涵蓋了所有的常見的功能。Python還具有指令碼語言中最豐富的各種類庫,基本涵蓋了網路、檔案、GUI、資料庫、文字等等各類應用場景,舉幾個簡單應用的例子。

  • 常用於資料處理的NumPy擴充套件庫,能夠很方便的支援大量的陣列與矩陣的運算,還提供了大量的數學函式庫,僅僅簡單的幾十行程式碼,配合Matplotlib繪相簿,可以非常方便快捷的顯示各類資料統計圖表(網上經常看到的一些資料分析課程用的圖,很多都是用這些繪製出來的)。
  • 如果經常開發圖形介面、或者進行嵌入式上位機軟體開發的朋友,除了C#外,可能會很熟悉Qt軟體。Python中也有相同功能的PyQt庫,也可以做出各種驚豔的介面程式,相比C++而言,個人認為開發難度大幅度降低。
  • Python可以用來開發網站。Django是一個開源的Python Web框架,採用MTV框架模式(模型M,檢視V和模板T),是一個具有完整架站能力的開源Web框架,很少的程式碼就能實現一個正式網站所需要的絕大部分內容。Django框架具有開發快捷、部署方便、可重用性高、維護成本低的特點。
  • MicroPython可以用來進行下位機開發,MicroPython是Python的一個精簡版本,在很多板子上可以通過通用的API實現對晶片GPIO的控制,實現諸多功能。目前市面上支援MicroPython的晶片種類還是比較多的,一般稱之為Pyboard,常見的有STM32F4系列的晶片,STM32F7系列的晶片,還有我們在物聯網中經常用的ESP8266,EPS32,Arduino等等,在MicroPython官網可以下載晶片相應的韌體檔案。用於下位機程式設計時,基本繞開了繁雜的各種配置程式碼,將精力集中於邏輯的處理中。

 

03缺點 

  • 作為一個解釋型語言,Python的執行速度遠遠低於C/C++。不過這類缺點隨著時代的進步,也不是一個什麼大問題,畢竟0.01秒和1.01秒,使用者也感覺不出來。

  • Python原始碼的加密困難。解釋型語言釋出給使用者的是原始碼,不像C語言之類的可以打包成exe執行檔案。不過如今也有專門用來將Python原始碼打包成exe檔案的工具,我個人是經常寫一些工作需要的Python小程式,然後打包發給同事使用,缺點是初次執行時,需要等待程式啟動的時間較長。


 

04後記 

一時心血來潮,便註冊了這個公眾號,想著當成一個筆記,回顧記錄一下以前的學習過程,順帶複習一下,就是文筆爛了些,儘量寫的通俗易懂些。

我個人用Python更多的時候是用來開發上位機軟體,主要是用於各類裝置的除錯工具,也有下位機的開發,偶爾做一些資料分析的活兒。跟著專案走的好處是,入手一門語言時,可以學的很快。缺點也很明顯,無法系統全面的瞭解這門語言,專案間隔一長就很容易遺忘。沒有專案自己創造專案,實在沒頭緒的時候,網上還是有很多好的方案的。

新手入門沒有程式設計基礎的話,還是多看兩遍基礎的知識,瞭解資料結構,多寫兩遍簡單的排序演算法。切忌眼高手低,很多時候,簡單的一段程式碼卡住了,才能發現自己的諸多不足。觸類旁通,才是提高自己的最佳途徑。

最後,公眾號基本只會釋出最基礎的內容,也希望各位大神不吝賜教。後期主要分享一些PyQt5的相關內容,畢竟我用的最多的一個模組就是它,也更為熟悉一些。

Life is short,you need Python!