Python從入門到放棄 一 概論

2021-07-14 19:14:54 字數 4036 閱讀 9769

1.軟體質量

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

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

2.提高開發者效率

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

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

4.有缺點,是不夠快

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

5.免費可移植

6.簡單可以和其他語言混合程式設計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

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

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

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

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

注意:

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

3.模組顯要特性:屬性

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

例子1.建立乙個檔案a.py

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

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

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

使用的話:直接用就行

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

4.使用exec執行模組檔案

1.exec(open(「完整模組名」).read())內建函式呼叫

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

Python 從入門到放棄(一)

列表 list 和元組 tuple python中有6中內建序列 sequence list,tuple,字串,unicode字串,buffer,xrange。序列和對映是兩種主要的容器 container 序列包括 list 和 tuple 對映包括 dict set 即不是序列又不是對映 序列操...

python 從入門到放棄

本人所有關於python的內容均為學習期間的整理的筆記,希望可以給學習者帶來些許幫助!不過一入it深似海!準備入行者請做好充分的心理準備!計算機的知識跟新迭代速度很快,不學習就會被淘汰!如果你打算入行然後找乙份安穩的工作安度餘生,那麼我還是建議去考公務員吧!這個行業可能並不適合你!有不少的人可能都覺...

Python 從入門到放棄(三)

2011 12 11 mon 13 58 直接建立 phonebook phonebook out 224 phonebook dict alice 1234 bob 2345 注意關鍵字不能是expression,不是 alice 而是alice phonebook out 228 或者通過鍵值對...