iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
Software Development

Python 爬蟲這樣學,一定是大拇指拉!系列 第 3

[Python 爬蟲這樣學,一定是大拇指拉!] DAY03 - 關於 Python (2)

  • 分享至 

  • xImage
  •  

了解 Python 的特性之後,來看看 Python 還有什麼厲害之處吧~

所以 Python,你有多猛?

  1. 語法簡單、直觀、可讀性高

    • 請搭配此圖片

    • 假設我們今天要 print 一個 hello world

    • C++

      #include <iostream>
      
      int main() {
          std::cout << "Hello World!" << std::endl;
          return 0;
      }
      
    • Python

      print("Hello World!")
      

    Python 是不是親切很多呢!?

  2. 龐大的第三方函式庫且安裝簡單

    • 透過 pip 指令就能快速地從 PyPI(The Python Package Index)下載安裝第三方函式庫。
    • 安裝成功後,在程式中打上 import 及函式庫名稱就能馬上使用!
    • 所以開發某個功能前,不妨先去找找是不是有人已經寫好且分享到 PyPI 上,絕對是利大於弊。
  3. 可以調用 C / JAVA

    • 像是 CythonJython
    • 常用來解決直譯器速度慢的問題。
  4. 好用的交互式程式設計介面

再怎麼猛,也是有弱點的

  1. 速度慢
    • 很多人都說 Python 速度慢,之所以速度慢是因為它是直譯式語言,執行時需要一行一行編譯執行,而拖累速度。
    • 與 C 、 JAVA 等編譯式語言相比,效能的確是慢很多,但歸功於現代電腦效能的飛躍性成長,"一般情況"下並不會有太大的感覺。
  2. Python 的 Multithreading
    • 雖叫做 Multithreading,但實際上只有一個 Thread 被執行。原因是 Python 誕生的年代,CPU 並沒有像現在一樣擁有多核多線程,當時還是以單核 CPU 為主,Multithreading 應用的情況也不多,所以採用了 GIL 的方式來執行 Multithreading 並確保 Thread safe。
    • GIL : 簡單說就是一把鑰匙,擁有這把鑰匙的 Thread 才能被 CPU 執行。即使是多核CPU,也沒辦法讓多個Thread「並行」地同時執行代碼,只能是交替執行。

所以為什麼選擇用 Python 呢?

不外乎就是龐大的第三方函式庫及交互式程式設計介面。
多樣化且安裝簡易的第三方函式庫,避免了重複開發的問題,節省了不少時間。
交互式程式設計介面,在處理資料上也省去了不少麻煩,不用只是個小改動而從頭執行,特別是前置處理的資料很龐大的時候...。

以上就是 Python 優缺點的介紹,對 Python 有沒有進一步了了解了呢!?
關於 Python 的篇章就到這邊結束囉~

本篇章"關於Python"系列參考資料

[1] Python official document
[2] Interactive programming
[3] Type system
[4] Ipython, Kernel of Jupyter
[5] Python GIL


上一篇
[Python 爬蟲這樣學,一定是大拇指拉!] DAY02 - 關於 Python (1)
下一篇
[Python 爬蟲這樣學,一定是大拇指拉!] DAY04 - 關於爬蟲
系列文
Python 爬蟲這樣學,一定是大拇指拉!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言