天天看點

3、運算符和表達式​

3、運算符和表達式​

3 運算符和表達式​

  • ​​1 運算符的優先級​​
  • ​​2 資料類型的轉換​​
  • ​​3 編碼規範​​
  • ​​4 if分支​​
  • ​​4.1 單一分支​​
  • ​​4.2 雙向分支​​
  • ​​4.3 多向條件分支​​
  • ​​5 循環​​
  • ​​5.1 概念​​
  • ​​5.2 使用​​
  • ​​5.2.1 while文法​​
  • ​​5.2.2 while-else​​
  • ​​5.2.3 死循環​​
  • ​​5.2.4 while語句的嵌套​​
  • ​​5.3 break和continue、exit()​​

1 運算符的優先級

  • 盡量不要把一個表達式寫的過于複雜,如果遇到複雜的需求,則最好分步運算
  • 不要過多的依賴于運算符的優先級,否則代碼的可讀性太差,在實際的項目開發中,一般采用()

2 資料類型的轉換

python是一種強類型語言:要求運算符兩邊的操作數必須是同一個類型的,否則必須轉換

函數名 函數值
int(x,[基數]) 将數字或字元串轉換為整數,如果x為浮點數,則自動截斷小數部分
float(x) 将x轉換成浮點型
str(x) 将x轉換成字元串,适合人閱讀
bool(x) 轉換成bool類型 的True或 False
repr(x) 傳回一個對象的String格式,适合機器執行
eval(str) 執行一個字元串表達式,傳回計算的結果
tuple(seq) 參數可以是元組、清單或者字典,為字典時,傳回字典的key組成的集合
list(s) 将序列轉變成一個清單,參數可為元組、字典、清單,為字典時,傳回字典的key組成的集合
set(s) 将一個可以疊代對象轉變為可變集合,并且去重複,傳回結果可以用來計算差集x - y、并集x | y、交集x & y
chr(x) 輸入一個ASCII碼(0-255),傳回一個對應的字元。傳回值是目前整數對應的ascii字元。
ord(x) 傳回一個字元所對應的碼值

數值類型 : int、float、bool

bool -> int -> float

3 編碼規範

  • 代碼編排
  • 縮進4個空格,不能用tab鍵和空格混合縮進
  • 所有行限制的最大字元數為79
  • 添加适當的空行
  • 空格
  • 二進制運算符兩邊添加一個空格
  • 逗号、分号、冒号後邊留一個空格,前面不留
正确: if x == 4: print(x, y); x, y = y, x
錯誤:  if x == 4 : print x , y ; x , y = y ,      
  • 緊跟在小括号,中括号或者大括号後 不要留白格
正确: spam(ham[1], {eggs: 2})
錯誤:  spam( ham[ 1 ], { eggs: 2 } )      

4 if分支

4.1 單一分支

if 條件表達式:
    【代碼塊】
【後續代碼】
執行流程:如果條件表達式為真,則執行【代碼塊】。否則不執行,直接執行if語句後面的【後續代碼】
注意:
   【代碼塊】必須縮進
    單if語句可以嵌套      

4.2 雙向分支

if 條件表達式:
    【語句塊A】
else:
    【語句塊B】
【後續代碼】
執行流程:如果條件表達式為真,執行【語句塊A】然後執行【後續代碼】,否則執行【語句塊B】,然後再執行【後續代碼】,二選一,不可能既執行A有執行B
注意: 
    【語句塊A】和【語句塊B】必須縮進
    if-else可以嵌套      

4.3 多向條件分支

if 條件1:
    【代碼段1】
elif 條件2:
    【代碼段2】
............
elif 條件n:
   【代碼段n】
else:
   【else語句塊】
【後續代碼】
執行流程:多選一,如果滿足條件1,執行【代碼段1】,然後跳出if-elif語句,執行【後續代碼】,否則判斷是否滿足條件2,如果滿足執行【代碼段2】,然後跳出if-elif語句,執行【後續代碼】...。如果所有條件都不滿足,執行【else語句塊】,然後再執行【後續代碼】。
注意:else是可選的,可以寫也可以不寫。      

5 循環

5.1 概念

廣義:一個周期現象或者重複出現的情況,這種狀态被稱為循環

狹義:在滿足條件的情況下,反複執行某一段代碼,在程式設計語言中出現的這種現象被稱為循環。被反複執行的這段代碼被稱為循環體

當反複執行某段代碼時,需要在合适的時機将循環停止下來,否則會産生死循環

Python中提供的循環語句:while語句,for-in語句

5.2 使用

5.2.1 while文法

while      
工作原理:遇到while語句時,首先計算表達式的值,如果表達式的值為假,則跳過整個while語句,繼續執行下面的代碼;如果表達式的值為真,則執行循環體

5.2.2 while-else

while 表達式:
    循環體
else:
    【else語句塊】      

說明:當while語句執行完成之後,執行【else語句塊】,如果用break跳出循環則不執行else

5.2.3 死循環

在循環語句中,表達式永遠為真的循環

while True:

#循環體

while 1:

#循環體

5.2.4 while語句的嵌套

while 條件1:     #外層循環
     【語句塊A】
      while 條件2:   #記憶體循環      

執行流程:首先判斷外層循環的條件1,如果為真,則執行循環體中的【語句塊A】,執行内層循環,判斷條件2是否成立,如果成立,執行内層循環的【語句塊B】,執行完内層循環後,重新判斷外層循環條件…

  • 特點:外層循環走一步,内層循環執行一遍
  • 外層循環和内層循環的循環變量必須不同

示範:

列印九九乘法表

5.3 break和continue、exit()

continue 語句用來跳過目前循環的剩餘語句,然後重新判斷循環條件,開啟下一輪循環。continue隻能出現在while和for循環中

break用于結束目前循環。隻對目前這一重循環起作用。break隻能出現在循環中

繼續閱讀