Python 從入門到放棄——Python科普!

CSDN學院發表於2020-04-04

文章轉自:謝小小XH

Python 從入門到放棄——Python科普!

 

一:Python特點

1.軟體質量

1.Python程式有很好的可讀性,一致性和軟體質量。

2.Python支援軟體開發的高階重用機制,例如物件導向等

2.提高開發者效率

1.python作為開發工具均以付出更少的精力完成更多的任務而脫穎而出。

3.可以定義為物件導向的指令碼語言。

4.有缺點,是不夠快

純python程式碼的執行速度介於傳統的編譯語言和傳統的解釋語言之間.

5.免費可移植

6.簡單可以和其他語言混合程式設計

 

二:python如何執行程式

1.python是一門程式語言,同時,python也是一個名為直譯器(shell)的軟體包(實際上,直譯器是程式碼與硬體之間的軟體邏輯層),也就是說,我們常常說python是一門程式語言,但是同時,我們寫好了python程式碼執行的時候,解釋程式碼的直譯器的名字也是叫python,語言和一個直譯器這個程式之間雖然叫一個名字,但是意義不要弄混淆了

2.Python安裝在機器上之後,它包含了一些最小化的元件:一個直譯器(shell)和支援的庫.無論怎樣,編寫的python程式碼需要在直譯器中執行.

3.從程式設計師的角度來說,一個Python程式僅僅是一個包含Python語句的文字檔案.

4.在本質上,python程式的執行有下面步驟

1.位元組碼編譯

程式執行的時候,Python內部(對使用者隱藏)會先將原始碼編譯成所謂的位元組碼的形式.

要是python程式在機器上面有寫入許可權.那麼他將程式的位元組碼儲存為一個以.pyc為副檔名的檔案.程式執行後,能夠在相應的工作檔案目錄下面看到這些檔案.下一次執行程式的時候,要是以前的原始碼沒有修改過的話,Python會自動載入.pyc檔案就不會再重新編譯一次原始檔.

要是python程式沒有寫入許可權.那麼程式還是可以執行.位元組碼在記憶體中生成.並且在程式結束後丟棄.

位元組碼檔案具有加速的作用.所以最好是保證在大型程式中能夠寫入;同樣,位元組碼也是分發程式的方法之一:要是python找到的都是.pyc檔案,那麼他也很樂意執行這個程式.

2.Python虛擬機器

一旦程式編譯成為位元組碼(或者位元組碼從已經存在的.pyc檔案載入),之後的位元組碼傳送到通常稱為python虛擬機器PVM上來執行.

PVM是Python的執行引擎.他通常表現為python系統的一部分.並且他是實際執行指令碼的元件.(但是事實上,這些都是對使用者隱藏的.)

5.執行程式碼的方式

1.互動模式

互動提示模式是根據使用者的輸入執行程式碼並且響應結果.但是他不會把程式碼儲存到一個檔案之中.在windows或者linux的控制檯下面輸入python,就進入了互動模式(首先要安裝了python)

當你對於一段python程式碼的執行有任何疑問的時候,馬上開啟互動命令列並且實驗程式碼,看看會發生什麼.注意:在互動模式下只能夠輸入python的命令而不能夠輸入系統的命令.互動模式下很多結果的顯示不需要列印語句.但是指令碼中的列印語句需要留意提示符的變換和複合語句.在互動模式中,用一個空行結束複合語句.意味著簡單的語句下只要一個回車會直接執行.而在複合語句下要按兩下空格)多行程式碼最好的處理方式就是先複製到一個.py檔案中.然後執行這個檔案.不要直接把很多行的語句直接複製到互動模式下面執行.

2.指令碼模式

1.普通指令碼(不帶#!)

寫一個檔案一字尾.py結尾

執行方式:Python +檔名

2.可執行指令碼(帶#!)

第一行是特定的: #!後面加上直譯器的路徑(不知道路徑的,可以通過which python命令來看一下直譯器的路勁在哪裡)檔案擁有可執行許可權(要是沒有執行許可權,用chmod +x 檔名為其賦予執行許可權),那麼這個指令碼就能夠直接執行了。

3.Unix env小技巧

我們知道,linux下面有一個env程式.可以通過系統的搜尋路徑的設定,定位某個東西.(要是不知道env在哪裡,用命令which env)

因為#!後面跟的是直譯器的路徑,我們經常直接在後面加上直譯器的路徑,但是要是把這個程式原封不動的發給別人,要是別人的機器上的python直譯器的路徑不是我們寫上去的路徑,那麼這個檔案將不能夠被正確執行.

所以,env的技巧將能夠搜尋python的位置,就算機器裝python的位置是不同的也沒有關係.

加上許可權之後直接執行就行了.

 

三.模組匯入和過載初步

1.概念

1.每一個以副檔名.py結尾的Python原始碼檔案都是一個模組,其他的檔案能夠通過匯入一個模組讀取這個模組的內容.(匯入的本質,就是載入另一個檔案,並且能夠讀取哪個檔案的內容.)

2.一個模組的內容通過這樣的屬效能夠被外部世界使用.

3.大的程式往往是以多個模組的形式出現.並且匯入了其他模組檔案的工具.其中一個模組檔案設計成主檔案,也就是頂層檔案,通過它,能夠執行整個程式.

2.操作

1.載入一個模組並且執行這個模組(***import語句)*

1.載入的時候加上模組名字就行,但是千萬不要加上副檔名.py

2.在互動介面下載入一個模組會自動執行這個模組

3.模組載入第一次的時候會執行,但是”不能夠”載入同一個模組兩次

如上圖,載入第一次的時候自動執行,然後載入第二次的時候就不執行了.因為匯入在python中是開銷很大的操作,系統預設只會匯入一次,第一次匯入後就不會再次匯入相同的了.(即使該檔案被改變.,…)

2.重新載入一個模組(reload()函式)

1.reload是一個函式,在imp標準庫模組中(python3.x)

2.Reload()函式希望獲得的引數是一個已經載入了的模組物件的名稱.

注意:

1.避免用import和reload啟動程式

3.模組顯要特性:屬性

從巨集觀的角度來說,模組扮演了一個工具庫的角色.從一般意義來說,模組往往就是變數名的封裝,被認作是名稱空間.在一個包中的變數名就是所謂的屬性.典型的應用中,匯入則得到了模組檔案中在頂層所定義的所有變數名.

例子

1.建立一個檔案a.py

2.可以通過兩種不同的方法獲得這個模組中的leo屬性

①import將模組作為一個整體載入

要使用的話:模組.屬性名

②From xxx import xxx

使用的話:直接用就行

注意:無論是使用import還是from的來進行匯入,模組檔案都會被執行.並且匯入的元件在頂層檔案中得到了變數名的讀取權.

4.使用exec執行模組檔案

1.Exec(open(“完整模組名”).read())內建函式呼叫

2.執行該模組且不載入該模組,相當於在該處貼上了該模組的程式碼,也是因為如此,有覆蓋前面定義過的同名變數的危險.(所以自己小心就行)

作者主頁:https://blog.csdn.net/xierhacker/article/details/51886725?utm_source=copy

Python教程資料推薦:https://edu.csdn.net/courses/o280_s355_k?utm_source=blog11

本篇為Python 從入門到放棄!之概論部分,還會為大家蒐集提供深入部分!

---------------------

祝福大家!

相關文章