1. 程式人生 > 實用技巧 >寫給.NET開發者的Python教程(三):運算子、條件判斷和迴圈語句

寫給.NET開發者的Python教程(三):運算子、條件判斷和迴圈語句

本節會介紹Python中運算子的用法,以及條件判斷和迴圈語句的使用方法。

運算子


運算子包括算術運算子、賦值運算子、比較運算子、邏輯運算子等內容,大部分用法和C#基本一致,下面我們來看一下:

  1. 算數運算子

  對Python而言,算數運算子中的加減乘和取餘(+-*%)是和C#一致的,這裡不再介紹,有差異的在於以下幾個運算子:

    •    單個/不是整除,//才是整除運算 

    •   指數運算使用**

    

  2.賦值運算子

  賦值運算子的用法和C#基本也一樣

  3.比較運算子

  比較運算子和C#一模一樣,如下:

  4.邏輯運算子

  前面的基本運算子和C#基本差不多,但是在邏輯運算子上面,Python完全不同於C#,對比如下:

  

條件判斷


Python不支援switch/case語句,僅支援if/else條件判斷。

Python的If語句包含了if,else,elif三個關鍵字,其基本語法為:

if 條件:
    ...
elif 條件:
    ...
else:
    ...

其中elif等同於C#中的else if,elif和else都不是必須的

此外值得一提的是,Python中的if/else語句可以簡寫,將判斷邏輯和執行程式碼合為一行,如下:

多重if巢狀也沒問題

此外Python不支援 "condition ? value1 : value2"這樣的三目運算語法,但可以使用if/else實現三目運算的功能,,如下:

迴圈語句


和C#相比,Python僅同樣支援for和while迴圈,不支援do...while迴圈語句

  • for循化

  python中for迴圈的用法和C#的foreach一直,用於從集合的迭代。其語法為"for 變數名 in 集合物件:"

  

  那麼Python是否可以實現按照索引迭代集合呢?答案是可以,如下:

  

  range方法生成了陣列的索引集合,此時i取到的就是每一個數組索引。此案例中,len(fruits)取到了fruits陣列的長度3,range(3)則生成了索引陣列[0,1,2]。

  • while迴圈

  while迴圈的用法基本和C#一致,如下:

  

  但Python中特殊的地方在於while支援else判斷語句,以在迴圈條件不滿足時,執行程式碼。如下:

  

  此外,continue和break欄位同樣被Python支援,用法和C#一致,這裡不再贅述。