python 表達式和語句
表達式是值,變量和操作符(或叫運算符)的組合。單獨的一個值是一個表達式,單獨的變量也是一個表達式。
Python語句是一段可執行代碼。常見的有賦值語句,if語句,while語句,for語句等等。
賦值
賦值的特性:變量名在首次賦值時會被創建,變量名在引用前必須先賦值
序列賦值:
在上面的例子中,寫了兩個元組,只是省略了它們的括號。python把賦值運算符右側元組內的值和左側元組內的變量相互匹配,然後每一次賦一個值
高級序列賦值:
右邊元素的數目要跟左邊的變量數目相同,不然會產生錯誤
擴展解包賦值:
一個帶星號的變量名 ,收集了序列中沒有賦值給其他名稱的所有項
增強賦值語句:
x=1 x+=1 print(x)
賦值語句總結:
Python 條件語句
Python條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊。可以通過下圖來簡單瞭解條件語句的執行過程:
Python 編程中 if 語句用於控制程序的執行,格式爲:
if 判斷條件:
執行語句……
判斷條件成立(值爲True),執行執行語句;否則不執行執行語句。
注意:Python程序語言指定任何非0和非空(None)值爲true,0 或者 None爲false。
if 判斷條件:
執行語句……
else:
執行語句……
其中"判斷條件"成立時(非零),則執行後面的語句,而執行內容可以多行,以縮進來區分表示同一範圍。else 爲可選語句,當需要在條件不成立時執行內容則可以執行相關語句
if 判斷條件1:
執行語句1……
elif 判斷條件2:
執行語句2……
elif 判斷條件3:
執行語句3……
else:
執行語句4……
if 語句的判斷條件可以用>、<、==、>=、<=來表示其關係。當判斷條件爲多個值時,可以使用以上形式,注意:python 並不支持 switch 語句,所以多個條件判斷,只能用 elif 來實現。
如果判斷條件有多個時,可以使用and/or連接。
例如:
num = 9 if num >= 0 and num <= 10: # 判斷值是否在0~10之間 print('Yes') else: print('no') # 輸出結果: Yes輸出:Yes
當if有多個條件時可使用括號來區分判斷的先後順序,括號中的判斷優先執行,此外 and 和 or 的優先級低於>(大於)、<(小於)等判斷符號,即大於和小於在沒有括號的情況下會比and/or要優先判斷。
例如:
# 判斷值是否在0~5或者10~15之間
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15): print('hello') else: print('undefine') # 輸出結果: undefine
python 複合布爾表達式計算採用短路規則,即如果通過前面的部分已經計算出整個表達式的值,則後面的部分不再計算。
例如:
a=0 b=1 if ( a > 0 ) and ( b / a > 2 ): print("yes") else : print("no")
輸出:no
正常執行不會報除零錯誤
a=0 b=1 if ( a > 0 ) or ( b / a > 2 ): print("yes") else : print("no")
輸出:
C:\ProgramData\Anaconda3\python.exe E:/python_code/.idea/test.py
Traceback (most recent call last):
File "E:/python_code/.idea/test.py", line 38, in <module>
if ( a > 0 ) or ( b / a > 2 ):
ZeroDivisionError: division by zero
無法執行報除零錯誤
可以在同一行的位置上使用if條件判斷語句:
var = 100 if ( var == 100 ) : print("變量 var 的值爲100")
輸出:
Python提供了兩種循環語句:while循環和for循環
while 判斷條件:
執行語句……
執行語句可以是單個語句或語句塊。判斷條件爲True時執行一次執行語句,然後再次判斷條件。直到判斷條件假False時,循環結束。
例:
flag = 3 while flag > 0: print("hello") flag -= 1 print("循環結束")
輸出:
注意:使用while循環時別忘了寫條件控制語句,否則會變爲死循環。(循環條件永遠爲Ture)
循環使用 else 語句,在 python 中,while … else 在循環執行結束後,執行 else 語句塊:
count = 0 while count < 5: print(count, " is less than 5") count = count + 1 else: print(count, " is not less than 5")
輸出:
類似 if 語句的語法,如果while 循環體中只有一條語句,可以將該語句與while寫在同一行中:while (True): print(True!')
使用for循環來遍歷序列:
格式:
for 變量 in 序列:
num = [1,2,3,4,5,6,7] for i in num: print(i) print("循環結束")
輸出:
通過序列索引迭代:
格式:for 變量 in range(len(序列名)):
fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print('當前水果 :', fruits[index]) print("Good bye!")
也可以指定一個範圍內的數字:
for i in range(1, 5): print(i)
輸出結果:
注意:range左邊界可以取到,右邊界取不到
還可以在range裏面設置步長:
for i in range(1, 5, 2): print(i)
輸出結果:1,3
在 python 中,else 中的語句會在循環正常執行完的情況下執行:
fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print('當前水果 :', fruits[index]) else: print("結束")
Python 語言允許在一個循環體裏面嵌入另一個循環
for x in ['A', 'B', 'C']: for y in ['1', '2', '3']: print (x + y)
輸出結果:
break語句用來終止所在的循環語句:
for x in ['A', 'B', 'C']: for y in ['1', '2', '3']: print (x + y) break
continue 語句用來跳出所在循環體的本次循環:
for x in ['A', 'B', 'C']: for y in ['1', '2', '3']: if x == "B": continue print (x + y)