1. 程式人生 > >Python 菜鳥筆記(一)Python 入門

Python 菜鳥筆記(一)Python 入門

一、Python的一些特點

  1. 通俗易學

    相比c語言晦澀難懂[至今仍搞不懂,為什麼各大高校紛紛使用c語言作為計算機相關專業的入門語言,no comment],python更為的接近人類的語言。就這麼說吧,如果你的英語不錯,那麼基本的python程式碼你都能夠看懂。

  2. 膠水語言

    個人覺得這可能是python近年來興起的最為重要的原因了。python底層是c來編寫的,能夠很方便的呼叫c或者是c plus的庫。所以有非常非常豐富的python庫使用c或者c plus 來編寫並提供給你使用。

  3. 強規範

    這個可以在很多弱型別語言身上看到影子,類似es-lint 等。都要求非常近乎苛刻的程式設計規範,因為不然在編譯期就會導致錯誤。很多人在吐槽或者是推崇這個,這裡我想說任何語言都沒有非常完美、面面俱到的地方。看問題和說事情還是看具體的情境。在企業中要求業務邏輯嚴密,要求非常高的資料事務,所以java這時候就相對比較適合。在一些小團隊中,可能要求開發速度比較快,也存在非常牛x的大神級別的人員[寫的程式碼基本沒有什麼bug],那麼python絕對會是一個非常好的選擇。

二、第一個Python程式

chmod -R 755 helloword.py
./helloword.py

三、Python的執行順序

上面說了那麼多,我們直接來看一下一個.py檔案的執行順序吧。
這裡對於內部的直譯器和pvm的執行這裡沒有做特別詳細的分析和論述,只是單純的看一下.py檔案是如何在機器中執行的。見下圖:
這裡寫圖片描述

這裡簡單說明一下這個過程和其中需要注意的幾項:

在我們用相應的命令執行相應的.py檔案後,python會通過直譯器將.py檔案編譯為一個位元組碼物件。在執行的時候會將這個位元組碼物件load到記憶體中。在記憶體中執行結束之後,一般情況下降PycodeObject儲存到一個pyc檔案中或儲存,這樣在下次就可以直接載入pyc檔案而不需要二次編譯。這裡需要注意地方就是,

a.什麼樣的.py檔案會在執行結束之後回寫到硬碟的.pyc檔案中

這裡python直譯器會在編譯的時候去檢查該.py檔案是否有依賴其他模組,換句話說也就是當前的.py檔案是否有import引用。當沒有import引用時,編譯器預設該檔案只會執行一次,就不會再執行後生成pyc檔案。反之則會生成。

b.什麼時候去更新pyc檔案

類似我們經常使用的快取機制,會存在一個什麼時候去更新這個快取的問題。這裡同理,如果每次都直接使用pyc檔案,那麼勢必會出現我們經常的編寫的程式碼沒有生效的情況。Python這裡在每次生成pyc檔案時,都會比對pyc檔案中的時間戳,這樣在每次是否決定要替換已經生成好的檔案時,首先先比對時間戳,一致則保留當前pyc檔案,反之則替換。

綜上,這次簡單的瞭解了python語言的一些特點,手寫了一個helloword。並大致瞭解了.py檔案的在python環境的執行順序。簡單來說,python是一個擁有豐富開發庫並相對更接近人類語言化的膠水語言。