運算符和表達式?
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 , x
緊跟在小括號,中括號或者大括號后 不要留空格
正確: 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 T
?
while 1:
??? #循環體
5.2.4 while語句的嵌套
while 條件1: ? ? #外層循環
???? 【語句塊A】
????? while 條件2: ? #內存循環
??????????? 【語句B】
執行流程:首先判斷外層循環的條件1,如果為真,則執行循環體中的【語句塊A】,執行內層循環,判斷條件2是否成立,如果成立,執行內層循環的【語句塊B】,執行完內層循環后,重新判斷外層循環條件....
-
特點:外層循環走一步,內層循環執行一遍
-
外層循環和內層循環的循環變量必須不同
演示:
打印九九乘法表
5.3. break和continue、exit()
continue 語句用來跳過當前循環的剩余語句,然后重新判斷循環條件,開啟下一輪循環。continue只能出現在while和for循環中
break用于結束當前循環。只對當前這一重循環起作用。break只能出現在循環中
exit()結束程序