Python基礎——Python簡介

前言:這是小編我第二次學習python,因爲距離第一次學習python已經有很長一段時間了,所以語法和編程方式已經生疏,這次想借着一絲絲對python的映像從頭開始學習並嘗試完善自己之前沒有填過坑的博客,同時也會記錄一些自己的學習心得體會和個人對python語法或編程的見解.

Python是什麼?

  • 是一種編程語言: python是一種高級編程語言,高級編程語言相對於機器語言(直接操作系統內存大量使用二進制進行編碼),封裝了很多底層指令集,並且增加許多容易讓人理解的複雜指令集,在這種語言下,其語法和結構更類似漢字或者普通英文,且由於遠離對硬件的直接操作,使得一般人更容易學習。
  • 是面向對象的編程語言:
  • 是更加強大的解釋性語言: python最初的設計是爲了編寫自動化腳本,但是隨着版本的不斷更新和語言新功能的添加,越來越多被用於獨立的、大型項目的開發。而解釋性語言的特性則是運行代碼的時候不需要進行編譯產生中間的字節碼,直接在解釋器裏面運行源碼,這麼做實在是太棒了,你不僅僅可以在給代碼調試時實時修改代碼參數查看運行結果,也可以在你導入一個外部框架時,直接查看有註釋的框架源碼,無需通過反編譯或者再次到對應框架網站上下載源碼包。值得留意的是,python在運行的時候也會對源碼進行編譯,這樣可以加快在系統上的運行效率,這個過程是由運行環境自動執行。
  • 是簡單,易懂,高效可擴展的編程語言: Python的設計目標之一是讓代碼具備高度的可閱讀性。它設計時儘量使用其它語言經常使用的標點符號和英文單字,讓代碼看起來整潔美觀。它不像其他的靜態語言如C、Pascal那樣需要重複書寫聲明語句,也不像它們的語法那樣經常有特殊情況和意外。值得讓人高興的是,python和C++,Java相比有着非常嚴格的代碼格式,Python開發者有意讓違反了縮進規則的程序不能通過編譯,以此來強制程序員養成良好的編程習慣。 並且Python語言利用縮進表示語句塊的開始和退出(Off-side規則),而非使用花括號或者某種關鍵字。媽媽再也不用擔心閱讀代碼的時候眼睛疼了。Python本身被設計爲可擴充的。並非所有的特性和功能都集成到語言核心。Python提供了豐富的API和工具,以便程序員能夠輕鬆地使用C語言、C++、Cython來編寫擴充模塊。

Python的運行方式

  • 交互|命令行模式: 因爲解釋性語言的獨特性質,python能夠像在終端中輸入命令行的形式進行交互,通過用戶輸入的一行代碼,回車後會自動執行這行代碼並輸出結果。從而達到實時預覽的效果。
  • 腳本模式: 此模式下和執行shell,php,js腳本一樣,通過將多行python語句寫入.py文件中一併執行 。

Python能做什麼?

  • 用於編程教學: Python作爲一門簡單易懂的編程語言,自然學習起來會比其他語言要容易,在國外用Python做科學計算的研究機構日益增多,一些知名大學已經採用Python來教授程序設計,在國內目前Python已經作爲入門編程的教科書語言,對於剛入門編程的新手來說你可能第一個接觸到的編程語言不再是java或C++,而是Python。當然如果想要更加深入的理解編程語言的運作原理,最好還是去學習C++並翻閱編譯器的相關資料。
  • 用於科學計算與數據分析: Python有着非常強大的數據處理分析擴展包,並且衆多開源的科學計算軟件包都提供了Python的調用接口,例如著名的計算機視覺庫OpenCV三維可視化庫VTK醫學圖像處理庫ITK。而Python專用的科學計算擴展庫就更多了,例如如下3個十分經典的科學計算擴展庫:NumPy (NumPy教程)SciPy (SciPy教程)matplotlib (matplotlib教程),它們分別爲Python提供了快速數組處理數值運算以及繪圖功能。你能在很短的時間內對數據進行製表,修改格式,篩選過濾等操作,這些方法無一例外都是已經集成在擴展包內的,你不用去重複開發類似功能的擴展。
  • 用於網絡爬蟲: 如果你正在學習爬蟲,那麼這很有可能是你來看我這篇博客的原因,這也是我爲什麼再次學習Python的原因,Python爬蟲被廣泛作爲爬蟲教學的執行語言,而且Python也有着衆多實用的爬蟲框架,例如知名的多線程爬蟲Scrapy(Scrapy教程),強大的網絡爬蟲系統PySpider(PySpider教程),目前有着衆多的科研機構使用Python搭建的爬蟲獲取數據。
  • 用於軟件開發: 雖然很多人都說Python因爲其解釋性語言的特性,對性能的消耗會比其它如C++要慢很多,但其實Python在運行的時候是會自動進行部分編譯從而提高性能的,並且按照目前軟件開發行業的需求,對性能的需求只有極少部分業務纔會需要,而這一部分完全可以使用高性能語言進行開發,利用Python的超強擴展性進行融合,例如Google內部的很多項目,如Google Engine使用C++編寫性能要求極高的部分,然後用Python或Java/Go調用相應的模塊。所以寫代碼的時候就不要抱怨python慢,好好考慮自己的代碼是不是優化渣

Python的使用羣體

  • 學生: 如果你是個剛學習編程的學生,你可以通過學習Python更好的理解什麼是面向對象編程,當然也由於Python高度封裝底層程序的緣故,你可能從事編程的其他領域的時候還需要再學習其他語言。
  • 科研人員: Python有着許多科學處理的包,並且提供了JupyterBook這種交互式運行界面可以非常直觀的將數據運算結果在界面中顯示並保存下來,而且Python的平臺兼容性允許你在不同的設備中運行展示你的計算結果,許多學者爲Python開發的科學包是最好的證明。
  • 數據分析|數據獲取: 這也是我這次學習Python的首要目的,並且之後關於Python的博客可能主體會偏向爬蟲和數據分析這個方向,Python有着非常方便的數據分析和獲取包,你能在很短時間內進行學習並使用。
  • 開發個人網站: 如果你有屬於自己的伺服器,想自己搭建一個小網站,Python是一個絕佳的選擇,Flask框架可以幫助你快速搭建網站,並且學習成本可能只有幾十個小時。
  • 軟件工程師: 如果你是專門做Python軟件開發的工程師,學習Python毋庸置疑,並且需要深入瞭解Python本人的博客可能無法滿足您的需求,但是如果是爲了編寫大型業務程序而專門學習Python可能就有些不值得了,應爲您應該有您更加擅長的語言,Python此時應該是作爲一種輔助。

Python學習參考網站

發佈了12 篇原創文章 · 獲贊 12 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章