首頁 > 其他

Python:[3]程式

2019-12-01 04:35:59

Python(英國發音:/?pa?θ?n/ 美國發音:/?pa?θɑ?n/),是一種物件導向、直譯式計算機程式語言,具有近二十年的發展歷史,成熟且穩定。它包含了一組完善而且容易理解的標準庫,能夠輕鬆完成很多常見的任務。它的語法簡捷和清晰,儘量使用無異義的英語單詞,與其它大多數程式設計語言使用大括號不一樣,它使用縮進來定義語句塊。


1

程式是根據語言提供的指令,按照一定的邏輯順序,對獲得的資料進行運算,並將結果最終返回給我們的指令和資料的組合。在這裡運算的含義是廣泛的,既包括數學計算之類的操作,比如加減乘除;也包括諸如尋找和替換字串之類的操作。資料也依據需要的不同,組成不同的形式,處理後的資料,也可能以另一種方式體現。

2

程式是用語言寫成的。語言分高階語言和低階語言。低階語言,有時叫做機器語言或組合語言。計算機真正「認識」並能夠執行的程式碼,在我們看來是一串0和1組成的二進位制數位,這些數位代表指令和資料。想一想早期的電腦科學家就是用這些枯燥乏味的數位程式設計,其嚴謹的治學精神令人欽佩。低階語言的出現則是計算機程式語言的一大進步,它用英文單詞或單詞的縮寫代表計算機執行的指令,使程式設計的效率和程式的可讀性都有了較大的提高,但由於它仍然和機器硬體關聯緊密,依然不符合人類的語言和思維習慣,而且要想把低階語言寫的程式移植到其他平台,很不幸,必須重寫。

3

高階語言的出現是程式語言發展的必然結果,也是計算機語言向人類的自然語言和思維方式逐步靠近和模擬的結果。這一過程現今仍在繼續,將來也不會停止。針對不同領域的應用情況,未來會出現更多新的計算機語言。言歸正傳,高階語言是人類邏輯思維的程式化、數位化和精確化數學描述。邏輯思維是人類思維方式的重要的一部分,但決不是全部,只有這部分計算機能夠比較全面、系統地模擬人類的思維方法。由於高階語言是對人類邏輯思維地描述,用它寫程式你會感到比較自然,讀起來也比較容易,因此,如今的大部分程式都是用高階語言寫的。

4

高階語言的設計的目的是讓程式按照人類的思維和語言習慣書寫,它是面向人的,不是面向機器的。我們用著方便,但機器卻無法讀懂它,更談不上執行了。所以,用高階語言寫的程式,必須經過「翻譯」程式的處理,將其轉換成機器可執行的程式碼,才能執行在計算機上。如果想把它移植到別的平台上,只需在它的基礎上,做少量更改,就可以了。

5

高階語言翻譯成機器程式碼有兩種方法:解釋和編譯。

直譯語言是邊讀源程式邊執行。(見圖1.1)


6

而編譯型語言則是將原始碼編譯成目的碼後執行。以後在執行時就不需要編譯了。(見圖1.2)

1

程式是由人寫成的,所以難免出現錯誤。跟蹤並改正錯誤的過程叫偵錯。程式中可能有三種型別的錯誤:· 語法錯誤(syntax errors);· 執行錯誤(runtime errors);· 語意錯誤(semantic errors)。語法錯誤 程式要執行,首先語句的語法必須正確,才能夠被計算機執行。否則,執行的過程中斷,返回錯誤資訊。語法指的是程式語句的組成要符合語言規定的構成規則。例如,下面的語句是符合語法規則的:>>> a = b - c它的意思是將b減c的結果賦值給變數a。如果你把這個表示式寫成「b - c =
a」這種形式,就錯了,因為它不合語法規定,「b - c」這樣的表示式不能被賦值。當然語法也不是憑空而定的,它要符合我們的思維習慣

2

對於自然語言來說,比如說漢語,你寫的文章或說的話,存在少量的語法錯誤,還不至於影響要表達的意思。而計算機則沒有達到如此聰明的地步,它要求百分之百的精確。你的程式要完全符合計算機的語法,哪怕有一點錯誤,它也不可能執行你的程式。其實語法錯誤還是比較容易找到和消除的。當你開始學習程式設計時,由於需要逐漸熟悉語法,出現的語法錯誤可能會很多,隨著經驗的增長,它會一點點的減少,即使有,你也能夠輕鬆的找到並改正它們。

3

執行錯誤即使是完美無缺的程式,在執行的過程中也會出現錯誤,有時稱為異常 ,或曰不可預料的錯誤。有人說,計算機不是善於精確計算嗎?不錯,確實如此。錯的不是計算機,而是我們人類。計算機說到底,不過是人類設計的,為我們所用的工具。它和電視機、汽車從本質上來說,是一樣的。限於現在有關計算機軟硬體的理論水平、工業製造水平、甚至使用者的水平等等一些內在的、外在的因素,你想,它能夠不出錯嗎?程式越複雜,出現異常的幾率越大。異常的種類很多,比如記憶體用盡,除數為零的除法,都可能導致異常。Python中設計了專門的例外處理語句,把錯誤的影響降至最低。

4

語意錯誤 程式即使有語意錯誤,也能正常執行,也不會產生任何錯誤資訊,但得到的結果和我們預料的大相逕庭。這時候程式做了一些別的事情。發生這種錯誤一般是我們對語句的執行機理了解的不夠透徹,自以為它應該如此執行,而實際卻不是這樣。還有可能是你的解決問題的思路本身就是錯的,寫的程式當然是錯的。查詢這樣的錯誤很不容易,需要從結果進行推理,看一看是程式的哪一部分導致了這樣的結果。

1

程式錯誤是不可避免的,查詢並改正錯誤,即偵錯,就成了我們一項中的我們要掌握的一項重要技能。偵錯是令人討厭的工作,常常是你花了一天的時間搜尋錯誤,也可能還是找不到。因此偵錯需要細心、耐心和恆心。

2

任何講解語言的文章和書籍,都不能把所有的知識告訴你,而偵錯是深入了解一種語言特性的好機會。通過偵錯,我們不僅能夠提高駕馭語言的能力,而且還豐富了程式設計知識。

3

偵錯在某些方面很想破案,面對很少的、凌亂的線索,你必須推測程式實際的執行過程,猜測是什麼地方可能導致了錯誤。

4

偵錯是程式設計師的工作,其目的是使程式按照預定的功能正常執行。但這時的程式還沒有最終完成,必須在進行測試。測試則是由另一部分人,他們的目的就是尋找執行程式出現的錯誤,然後反饋給程式設計師,由程式設計師修復錯誤。這是一個互動的過程。

1

自然語言是人們日常生活中用於交流的語言,如漢語。自然語言是伴隨著人類的成生而形成的,它是人和人之間交流的工具。

2

程式語言是人類根據自然語言的一小部分,給計算機設計的,用於人和計算機進行交流的語言。在進一步說,程式語言是對計算機硬體資源有計劃、合理的分配和利用。計算機按照程式步驟,分毫不差地呼叫自己的硬體資源進行運算,之後把工作結果提交給我們。從這方面說,程式應該是工作流程,而非語言。

3

程式語言和自然語言存在很多區別:模糊性:自然語言充滿了模糊性。例如我們寫的抒情散文,常常是「醉翁之意,不在酒」。但別人依然能夠根據上下文的聯絡,在整體上把握你要說的意思。程式語言則被要求語句的意思必須明確,不能有任何歧義,更不能聯絡上下文來確定語句的意思。所以說計算機是一根筋的傢伙。冗餘:由於自然語言的模糊性,單憑一句話你不能理解作者的真實想法,為此,作者就需要從方方面面對他的真實意圖,進行解說,以幫助人們理解正確的意思,結果導致冗餘的出現。程式語言很少會出現冗餘,因而意思表達德更精確。無修飾:自然語言為了追求感情和修辭上的效果,會在話語中新增許多華麗的詞彙,以使感情更加充沛。程式語言則沒有這些東西,他一就是一,二就
是二,不涉及自然語言的感情和修辭。

1

Python是直譯語言。我們可以通過命令列或指令碼模式執行Python程式。在DOS提示符下,輸入Python命令,就進入命令列模,這時直譯器出現歡迎資訊、版本號及版權說明,然後實Python的提示符「>>>」。如果程式不只一行,那麼在第二行就會出現第二個提示符「...」。>>> if age>18:... print "Your age is more than 18."... Your age is more than 18.我們也可以啟動python的IDLE,它和命令列模式很相像,而且功能似乎更強大。IDL
E的啟動介面(見圖1.3):我們也可以把語句存入指令碼檔案,然後在命令列執行它。例如:C:>python hello.pyHello,world!

2

依照慣例,第一個程式是「Hello,World!」。它所做的就是顯示兩個單詞,「Hello,World!」。用Python語言寫的程式如下:print "Hello,World!"這是列印語句的例子,「列印」的意思不是真正列印在紙上,而是顯示在螢幕上。程式中的引號表示的是值的開始和結束,它不出現在結果中。程式的輸出結果如下(見圖1.4):

IT145.com E-mail:sddin#qq.com