python條件、循環語句


既然講到語句,那先說明一下語句塊。語句塊不是一種語句,是一組語句。在條件為真時執行或者多次的一組語句。主要注意其格式,用冒號來標識語句塊的開始,塊中每行縮進相同的量,一般4個空格(tab字符位置為8個空格,不使用)。簡單的說就是通過縮排使語句成組的一種方式。

 

條件語句if

python中,False、None、0、""、()、[]、{}這些作為布爾表達式的時候都會為假。

if語句也很簡單,在if和冒號之間的表達式為真,則執行;else在第一個語句塊為假時執行。檢查多個條件使用elif。在條件中的運算符就是比較運算符,出了比較大小等之外,還有幾個需要注意:

x is y            x和y是同一對象

x is not y        x和y不是同一對象

x in y            x是y容器(成員資格檢查)

x not in y     x不是y容器

==運算符判斷兩個對象是否相等,而is判斷是否是同一個對象

 

斷言,簡單的說就是肯定某條件為真。使用assert關鍵字檢查條件或檢查函數參數屬性等,在程序出現錯誤條件時,直接崩潰,有助於排錯。

 

while循環與for循環

while循環,條件為真的時候重復執行一個代碼塊,當需要為一個集合的每一個元素執行一個代碼塊的時候就需要for循環了。能使用for循環,就盡量不使用while循環。

以兩個例子來表示:

循環遍歷字典

break跳出循環,而continue跳過循環體,不結束循環。

while True實現一個自己不會停止的循環,但是在循環內部加入滿足條件break可以終止循環。

列表推倒式,可以說是循環的一種表達式。是利用其他列表來創建新的列表。

 

pass、del、exec

pass語句什么都不做,可以作為占位符使用。如果不用pass(這里是作占位符),則報錯,python中空代碼塊是非法的。

當要刪除一個字典或者序列的時候,可以使用置空(None),也可以使用del語句。它會移除一個對象的引用,也會移除這個名字的本身。

 

exec語句用與執行python程序相同的方式來執行字符串。通過增加in<scpoe>來實現放置代碼字符串命名空間的字典。

 

內建函數eval對寫在字符串中的表達式進行計算並返回結果。eval也可以使用命名空間,一個全局一個局部,全局必須是字典,局部可以是任何形式的映射。

exec或者eval的作用域跳用可以在其之上調用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM