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

msp的昌偉哥哥發表於2020-09-08

本節會介紹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#一致,這裡不再贅述。

相關文章