day06:(全為重點)
1.可變不可變型別
2.什麼是條件?為何要用條件?什麼可以當作條件?
3.邏輯運算子
and or not
優先順序:not > and > or
4.成員運算子
5.身份運算子
6. 流程控制之if判斷
通過可變不可變型別對前面學習的資料型別進行分類。
可變型別:值改變,id不變,證明改的是原值。
列表、字典
不可變型別:值改變,id也變了,證明是產生了新的值,並沒有改變原值,說明原值並沒有被修改。
int、float、字串、bool在python中被設計成了不可分割的整體,不能被改變。
什麼是條件?什麼可以當作條件?為什麼要用條件?
第一大類:顯式布林值
1.條件可以是比較運算子
a = 10
a > 1
條件判斷後會得到乙個布林值
2.條件可以是true、false
第二大類:隱式布林值(所有的值都可以當成條件去用)
所有資料型別,其中0、none、空(空字串、空列表、空字典)為假,其餘全為真
# 一. not、and、or的基本使用#not:就是把緊跟其後的那個條件結果取反,not與緊跟其後的那個條件是乙個不可分割的整體
print(not 16 > 13) # 結果為false
print(not 10) # 結果為false
print(not
0) # 結果為true
print(not none) # 結果為true
'''and:邏輯與,and用來連線左右兩個條件,兩個條件同時為真,最終結果才為真
條件1 and 條件2
偷懶原則:碰到假,就為假
'''print(true and 10 > 3 and 1 < 2) # 結果為true
print(true and 10 > 3 and 1 > 2) # 結果為false
'''or:邏輯或,用來連線左右兩個條件,兩個條件中有乙個為真,最終結果就為真,
兩個條件都為假時,最終結果才為假,也遵循偷懶原則
'''print(10 or 10 > 11)
print(0 or none)
'''二. not、and、or的優先順序
not > and > or
如果只是單獨的一串and連線,或者只是單獨的一串or連線,按照從左到右的順序依次計算(偷懶原則)。
如果是混合出現not、and、or,則應使用優先順序原則
示例:3 > 4 and not 4 > 3 or 1==3 and 'x'=='x' or 3 > 3
解決方法:1.首先將not與緊挨其後的條件用括號括起來
2.然後將and左右的條件用括號括起來
3.最後整個語句就只剩下or的運算了
(3 > 4 and (not 4 > 3)) or (1==3 and 'x'=='x') or 3 > 3
注意:如果語句中真的使用了(),則應將()中的內容視為乙個整體
'''
#語法1:1.成員運算子(in/not in),適用於字串、列表、字典、元祖、集合
#用在字串中,判斷子字串是否存在於乙個大的字串中
print('
egon'in
'hello egon
') #
結果為true
print('e'
in'hello egon
') #
結果為true
#用在列表中,判斷元素是否存在於列表中
print(111 in [111, 222]) #
結果為true
#用在字典中,判斷key是否存在於字典中
print(111 in ) #
結果為false
print('a'
in ) #
結果為true
#not in
print('
egon
'notin'
hello egon
') #
結果為false,推薦使用這種方式
print(not
'egon'in
'hello egon
') #
結果為false,邏輯同上,但語義不明確,不推薦使用這種方式
#2.身份運算子
#is判斷id是否相等
#== 判斷值是否相等
if 條件:
**1**2
**3語法2:
if 條件:
**1**2
**3else:
**1**2
**3語法3:
if 條件1:
**1**2
elif 條件2:
**1**2
elif 條件3:
**1**2
else:
**1**2
注意:只要有乙個條件成立,則會執行該條件對應的**塊,然後結束判斷。
語法4:
if 巢狀 if
注意的問題:
下圖**下方有波浪線,說明此**在規範方面存在一定的問題:
將滑鼠游標放到波浪線身上,出現以下提示,點選下圖紅框中的內容,便可對**進行優化。
優化結果如下:
第3章 流程控制結構
相同點 1 都能解決任何型別的迴圈題目 2 都具備迴圈四要素 不同點 1 語法不同 2 執行順序不同 while和for 先判斷後執行 do while 先執行後判斷 3 執行效果不同 如果第一次條件成立,while do while for 執行效果相同 如果第一次條件不成立,while for ...
第3章 流程控制語句
順序結構就是程式從上到下逐行地執行,中間沒有任何判斷和跳轉。if結構格式一 if 條件表示式 if結構格式二 格式二可以與三元運算子互換 if 條件表示式 else if結構格式三 if 條件表示式1 else if 條件表示式2 else if 條件表示式n else if巢狀if 1 switc...
Go語言 第4章 流程控制
第4章 流程控制 主要內容 go語言規定與if匹配的左括號 else if 表示式2 else 10 特殊寫法 if 還有特殊的寫法,可以在if表示式之前新增乙個執行語句,再根據變數值進行判斷,如 if err connect err nil connect 為假設的函式,err connect 可...