1. 程式人生 > >小白汪:Python學習第一天(學習資源)

小白汪:Python學習第一天(學習資源)

首先介紹一下基本概念

編譯型解釋型語言:

c/c++等都是編譯型語言,將程式一次生成一個可執行檔案,直接轉成機器語言,執行時直接執行就行;解釋型在程式執行的前一刻,還只有源程式沒有可執行程式,而程式每執行到源程式的某一條指令,總會有一個解釋程式的外殼程式將原始碼轉換成二進位制程式碼執行,不停的解釋、執行、解釋、執行;

解釋型語言比編譯型語言慢,由其工作原理可得,就像看一本英文書,編譯型直接翻譯成漢語書,而解釋型是有個翻譯一句一句的去讀,所以速度慢;

解釋型的語言可移植性高,跨平臺

Ps: Java首先是通過編譯器譯成位元組碼檔案,在執行是通過直譯器給解釋成機器檔案,這樣Java是先編譯後解釋的語言

動態語言和靜態語言:

動態語言在執行期間做資料型別檢查,不用給任何變數資料型別,靜態的在編譯的時候檢查資料型別,需要定義資料型別

強型別定義語言和弱型別語言:

強型別:偏向於不容忍隱式型別轉換。譬如說haskell的int就不能變成double

弱型別:偏向於容忍隱式型別轉換。譬如說C語言的int可以變成double

總之,python是強型別、動態型別解釋型程式語言,是一種比較簡單,第三方庫豐富的語言,目前可以用到後臺開發、資料分析、機器學習等多個領域。

對程式語言的分類:
弱型別、動態型別檢查: Perl/PHP
強型別、靜態型別檢查 :Java/C#
強型別、動態型別檢查 :Python, Scheme

Python就為我們提供了非常完善的基礎程式碼庫,覆蓋了網路、檔案、GUI、資料庫、文字等大量內容,被形象地稱作“內建電池(batteries included)”。用Python開發,許多功能不必從零編寫,直接使用現成的即可。除了內建的庫外,Python還有大量的第三方庫,也就是別人開發的,供你直接使用的東西。當然,如果你開發的程式碼通過很好的封裝,也可以作為第三方庫給別人使用。許多大型網站就是用Python開發的,例如YouTube、Instagram,還有國內的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美國航空航天局)都大量地使用Python。

Python的執行過程

瞭解PyCodeObject和pyc檔案:

PyCodeObject則是Python編譯器真正編譯成的結果

當python程式執行時,編譯的結果則是儲存在位於記憶體中的PyCodeObject中,當Python程式執行結束時,Python直譯器則將PyCodeObject寫回到pyc檔案中,當python程式第二次執行時,首先程式會在硬碟中尋找pyc檔案,如果找到,則直接載入,否則就重複上面的過程。

所以我們應該這樣來定位PyCodeObject和pyc檔案,我們說pyc檔案其實是PyCodeObject的一種持久化儲存方式,pyc儲存的是預編譯後的位元組碼,但是沒有Java的程度高。

以上是對Python的簡單介紹,可以學習Python的網站:

廖雪峰的官方網站:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

菜鳥教程:https://m.runoob.com/

還有可以根據部落格來學習,之後會從簡單到複雜來記錄我的學習過程,加入自己的理解,相互交流