一、Python的一些特點
- 通俗易學
相比c語言晦澀難懂[至今仍搞不懂,爲什麼各大高校紛紛使用c語言作爲計算機相關專業的入門語言,no comment],python更爲的接近人類的語言。就這麼說吧,如果你的英語不錯,那麼基本的python代碼你都能夠看懂。
- 膠水語言
個人覺得這可能是python近年來興起的最爲重要的原因了。python底層是c來編寫的,能夠很方便的調用c或者是c plus的庫。所以有非常非常豐富的python庫使用c或者c plus 來編寫並提供給你使用。
- 強規範
這個可以在很多弱類型語言身上看到影子,類似es-lint 等。都要求非常近乎苛刻的編程規範,因爲不然在編譯期就會提示錯誤警告。
二、第一個Python程序
-
下載安裝
linux: install python 3
windows:https://www.python.org/ftp/python/3.6.3/python-3.6.3-amd64.exe
mac:brew install python3. brew -
執行
1.通過terminal進入python3環境,直接執行函數語句
2.進入.py所在目錄文件 python3 name.py
3.直接授權指定.py文件,直接執行
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是一個擁有豐富開發庫並相對更接近人類語言化的膠水語言。