Day03-运算符和表达式
運(yùn)算符和表達(dá)式?
1. 運(yùn)算符的優(yōu)先級(jí)
-
盡量不要把一個(gè)表達(dá)式寫的過(guò)于復(fù)雜,如果遇到復(fù)雜的需求,則最好分步運(yùn)算
-
不要過(guò)多的依賴于運(yùn)算符的優(yōu)先級(jí),否則代碼的可讀性太差,在實(shí)際的項(xiàng)目開(kāi)發(fā)中,一般采用()
2 數(shù)據(jù)類型的轉(zhuǎn)換
python是一種強(qiáng)類型語(yǔ)言:要求運(yùn)算符兩邊的操作數(shù)必須是同一個(gè)類型的,否則必須轉(zhuǎn)換
| int(x,[基數(shù)]) | 將數(shù)字或字符串轉(zhuǎn)換為整數(shù),如果x為浮點(diǎn)數(shù),則自動(dòng)截?cái)嘈?shù)部分 |
| float(x) | 將x轉(zhuǎn)換成浮點(diǎn)型 |
| str(x) | 將x轉(zhuǎn)換成字符串,適合人閱讀 |
| bool(x) | 轉(zhuǎn)換成bool類型 的True或 False |
| repr(x) | 返回一個(gè)對(duì)象的String格式,適合機(jī)器執(zhí)行 |
| eval(str) | 執(zhí)行一個(gè)字符串表達(dá)式,返回計(jì)算的結(jié)果 |
| tuple(seq) | 參數(shù)可以是元組、列表或者字典,為字典時(shí),返回字典的key組成的集合 |
| list(s) | 將序列轉(zhuǎn)變成一個(gè)列表,參數(shù)可為元組、字典、列表,為字典時(shí),返回字典的key組成的集合 |
| set(s) | 將一個(gè)可以迭代對(duì)象轉(zhuǎn)變?yōu)榭勺兗?#xff0c;并且去重復(fù),返回結(jié)果可以用來(lái)計(jì)算差集x - y、并集x | y、交集x & y |
| chr(x) | 輸入一個(gè)ASCII碼(0-255),返回一個(gè)對(duì)應(yīng)的字符。返回值是當(dāng)前整數(shù)對(duì)應(yīng)的ascii字符。 |
| ord(x) | 返回一個(gè)字符所對(duì)應(yīng)的碼值 |
數(shù)值類型 : int、float、bool
bool -> int -> float
3 編碼規(guī)范
代碼編排
縮進(jìn)4個(gè)空格,不能用tab鍵和空格混合縮進(jìn)
所有行限制的最大字符數(shù)為79
添加適當(dāng)?shù)目招?/p>
空格
二元運(yùn)算符兩邊添加一個(gè)空格
逗號(hào)、分號(hào)、冒號(hào)后邊留一個(gè)空格,前面不留
正確: if x == 4: print(x, y); x, y = y, x
錯(cuò)誤:? if x == 4 : print x , y ; x , y = y , x
緊跟在小括號(hào),中括號(hào)或者大括號(hào)后 不要留空格
正確: spam(ham[1], {eggs: 2})
錯(cuò)誤:? spam( ham[ 1 ], { eggs: 2 } )
4 if分支(***)
4.1 單一分支
if 條件表達(dá)式:
? ?【代碼塊】
【后續(xù)代碼】
執(zhí)行流程:如果條件表達(dá)式為真,則執(zhí)行【代碼塊】。否則不執(zhí)行,直接執(zhí)行if語(yǔ)句后面的【后續(xù)代碼】
注意:
? 【代碼塊】必須縮進(jìn)
? ?單if語(yǔ)句可以嵌套
4.2 雙向分支
if 條件表達(dá)式:
? ?【語(yǔ)句塊A】
else:
? ?【語(yǔ)句塊B】
【后續(xù)代碼】
執(zhí)行流程:如果條件表達(dá)式為真,執(zhí)行【語(yǔ)句塊A】然后執(zhí)行【后續(xù)代碼】,否則執(zhí)行【語(yǔ)句塊B】,然后再執(zhí)行【后續(xù)代碼】,二選一,不可能既執(zhí)行A有執(zhí)行B
注意:
? ?【語(yǔ)句塊A】和【語(yǔ)句塊B】必須縮進(jìn)
? ?if-else可以嵌套
4.3 多向條件分支
if 條件1:
? ?【代碼段1】
elif 條件2:
? ?【代碼段2】
............
elif 條件n:
??? 【代碼段n】
else:
? 【else語(yǔ)句塊】
【后續(xù)代碼】
執(zhí)行流程:多選一,如果滿足條件1,執(zhí)行【代碼段1】,然后跳出if-elif語(yǔ)句,執(zhí)行【后續(xù)代碼】,否則判斷是否滿足條件2,如果滿足執(zhí)行【代碼段2】,然后跳出if-elif語(yǔ)句,執(zhí)行【后續(xù)代碼】...。如果所有條件都不滿足,執(zhí)行【else語(yǔ)句塊】,然后再執(zhí)行【后續(xù)代碼】。
注意:else是可選的,可以寫也可以不寫。
5 循環(huán)(***)
5.1 概念
廣義:一個(gè)周期現(xiàn)象或者重復(fù)出現(xiàn)的情況,這種狀態(tài)被稱為循環(huán)
狹義:在滿足條件的情況下,反復(fù)執(zhí)行某一段代碼,在編程語(yǔ)言中出現(xiàn)的這種現(xiàn)象被稱為循環(huán)。被反復(fù)執(zhí)行的這段代碼被稱為循環(huán)體
當(dāng)反復(fù)執(zhí)行某段代碼時(shí),需要在合適的時(shí)機(jī)將循環(huán)停止下來(lái),否則會(huì)產(chǎn)生死循環(huán)
Python中提供的循環(huán)語(yǔ)句:while語(yǔ)句,for-in語(yǔ)句
5.2 使用
5.2.1 while語(yǔ)法
while 表達(dá)式:
?? 循環(huán)體
工作原理:遇到while語(yǔ)句時(shí),首先計(jì)算表達(dá)式的值,如果表達(dá)式的值為假,則跳過(guò)整個(gè)while語(yǔ)句,繼續(xù)執(zhí)行下面的代碼;如果表達(dá)式的值為真,則執(zhí)行循環(huán)體
5.2.2 while-else
while 表達(dá)式:
??? 循環(huán)體
else:
?? 【else語(yǔ)句塊】
說(shuō)明:當(dāng)while語(yǔ)句執(zhí)行完成之后,執(zhí)行【else語(yǔ)句塊】,如果用break跳出循環(huán)則不執(zhí)行else
5.2.3死循環(huán)
在循環(huán)語(yǔ)句中,表達(dá)式永遠(yuǎn)為真的循環(huán)
while T
?
while 1:
??? #循環(huán)體
5.2.4 while語(yǔ)句的嵌套
while 條件1: ? ? #外層循環(huán)
???? 【語(yǔ)句塊A】
????? while 條件2: ? #內(nèi)存循環(huán)
??????????? 【語(yǔ)句B】
執(zhí)行流程:首先判斷外層循環(huán)的條件1,如果為真,則執(zhí)行循環(huán)體中的【語(yǔ)句塊A】,執(zhí)行內(nèi)層循環(huán),判斷條件2是否成立,如果成立,執(zhí)行內(nèi)層循環(huán)的【語(yǔ)句塊B】,執(zhí)行完內(nèi)層循環(huán)后,重新判斷外層循環(huán)條件....
-
特點(diǎn):外層循環(huán)走一步,內(nèi)層循環(huán)執(zhí)行一遍
-
外層循環(huán)和內(nèi)層循環(huán)的循環(huán)變量必須不同
演示:
打印九九乘法表
5.3. break和continue、exit()
continue 語(yǔ)句用來(lái)跳過(guò)當(dāng)前循環(huán)的剩余語(yǔ)句,然后重新判斷循環(huán)條件,開(kāi)啟下一輪循環(huán)。continue只能出現(xiàn)在while和for循環(huán)中
break用于結(jié)束當(dāng)前循環(huán)。只對(duì)當(dāng)前這一重循環(huán)起作用。break只能出現(xiàn)在循環(huán)中
exit()結(jié)束程序
總結(jié)
以上是生活随笔為你收集整理的Day03-运算符和表达式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win10和乌班图双系统卸载
- 下一篇: 02.立项管理