世界上發展最快的編程語言之一——Python

世界上發展最快的編程語言之一——Python

Python簡介

Python是一種計算機程序設計語言。是一種動態的、面向對象的腳本語言,最初被設計用於編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用於獨立的、大型項目的開發。

  • Python 是一種解釋型語言: 這意味著開發過程中沒有了編譯這個環節。類似於PHP和Perl語言。
  • Python 是交互式語言: 這意味著,您可以在一個Python提示符,直接互動執行寫你的程序。
  • Python 是面嚮對象語言: 這意味著Python支持面向對象的風格或代碼封裝在對象的編程技術。
  • Python 是初學者的語言:Python 對初級程序員而言,是一種偉大的語言,它支持廣泛的應用程序開發,從簡單的文字處理到 WWW 瀏覽器再到遊戲。
世界上發展最快的編程語言之一——Python

Python 的 for 循環

Python 沒有傳統的 for 循環。為了解釋我的意思,讓我們看一看另一種編程語言的 for 循環,這是一種傳統 C 風格的 for 循環,用 JavaScript 編寫:

世界上發展最快的編程語言之一——Python

JavaScript、 C、 C++、 Java、 PHP 和一大堆其他編程語言都有這種風格的 for 循環,但是 Python 確實沒有。

Python 確實沒有 傳統 C 風格的 for 循環。在 Python 中確實有一些我們稱之為 for 循環的東西,但是它的工作方式類似於 foreach 循環。這是 Python 的 for 循環的風格:

世界上發展最快的編程語言之一——Python

與傳統 C 風格的 for 循環不同,Python 的 for 循環沒有索引變量,沒有索引變量初始化,邊界檢查,或者索引遞增。Python 的 for 循環完成了對我們的 numbers 列表進行遍歷的所有工作。

因此,當我們在 Python 中確實有 for 循環時,我們沒有傳統 C 風格的 for 循環。我們稱之為 for 循環的東西的工作機制與之相比有很大的不同。

Python 的異常處理

在項目開發中,異常處理是不可或缺的。異常處理幫助人們debug,通過更加豐富的信息,讓人們更容易找到bug的所在。異常處理還可以提高程序的容錯性。

一個包含異常的程序:

世界上發展最快的編程語言之一——Python

首先,我們定義了一個循環對象re,該循環對象將進行5次循環,每次使用序列的一個元素。在隨後的for循環中,我們手工調用next()函數。當循環進行到第6次的時候,re.next()不會再返回元素,而是拋出(raise)StopIteration的異常,整個程序將會中斷。

我們可以修改以上異常程序,直到完美的沒有bug。但另一方面,如果我們在寫程序的時候,知道這裡可能犯錯以及可能的犯錯類型,我們可以針對該異常類型定義好”應急預案“。

世界上發展最快的編程語言之一——Python

在try程序段中,我們放入容易犯錯的部分。我們可以跟上except,來說明如果在try部分的語句發生StopIteration時,程序該做的事情。如果沒有發生異常,則except部分被跳過。隨後,程序將繼續運行,而不是徹底中斷。

完整的語法結構如下:

世界上發展最快的編程語言之一——Python

如果try中有異常發生時,將執行異常的歸屬,執行except。異常層層比較,看是否是exception1, exception2...,直到找到其歸屬,執行相應的except中的語句。如果except後面沒有任何參數,那麼表示所有的exception都交給這段程序處理。比如:

世界上發展最快的編程語言之一——Python

由於a沒有定義,所以是NameError。異常最終被except:部分的程序捕捉。

如果無法將異常交給合適的對象,異常將繼續向上層拋出,直到被捕捉或者造成主程序報錯。比如下面的程序

世界上發展最快的編程語言之一——Python

子程序的try...except...結構無法處理相應的除以0的錯誤,所以錯誤被拋給上層的主程序。

如果try中沒有異常,那麼except部分將跳過,執行else中的語句。

finally是無論是否有異常,最後都要做的一些事情。

流程如下,

try->異常->except->finally

try->無異常->else->finally

世界上發展最快的編程語言之一——Python

Python中的迭代器

迭代器在Python中無處不在。 它們優雅地實現在循環,推導,生成器等中,但隱藏在明顯的視覺中。

Python中的迭代器只是一個可以迭代的對象。一個將一次返回數據的對象或一個元素。

從技術上講,Python迭代器對象必須實現兩個特殊的方法__iter__()和__next__(),統稱為迭代器協議。

如果我們從中獲取一個迭代器,那麼一個對象被稱為iterable。 大多數Python中的內置容器是列表,元組,字符串等都是可迭代的。

iter()函數(這又調用__iter__()方法)返回一個迭代器。

使用next()函數來手動遍歷迭代器的所有項目。當到達結束,沒有更多的數據要返回時,它將會引發StopIteration以下是一個例子。

世界上發展最快的編程語言之一——Python

更優雅的自動迭代方式是使用for循環。 使用for循環可以迭代任何可以返回迭代器的對象,例如列表,字符串,文件等。

世界上發展最快的編程語言之一——Python


分享到:


相關文章: