2021 2 14 python學習筆記

2021-10-19 10:19:16 字數 2318 閱讀 4967

實驗1:

assert

false

andfalse

ortrue

==true

# 乙個true就能導致整個表示式輸出true 應該後計算or

assert

true

o***lse

andfalse

==true

# 交換前後順序,依然先計算or

assert

false

andtrue

o***lse

==false

# 中間的true無效,應該先算and

assert

false

ortrue

andfalse

==false

# 交換and和or不影響結果

# 用`&` `|` 代替`and` `or`依然能執行

更多的andor連線起來,也是先算and再算or,結論:andor的優先順序高,另外邏輯運算子not的優先順序比and還要高

實驗2:

def

func

(x):

print

('func'

, x)

return

'return from func'

a =true

or func(

'a')

b =false

or func(

'b')

# 顯示 func b

c =true

and func(

'c')

# 顯示 func c

d =false

and func(

'd')

# 用`&` `|` 代替`and` `or`會發生錯誤:

# typeerror: unsupported operand type(s) for |: 'bool' and 'str'

print

(f'a \n'

)# 顯示 a true

print

(f'b \n'

)# 顯示 b return from func

print

(f'c \n'

)# 顯示 c return from func

print

(f'd \n'

)# 顯示 d false

print

(false

ornone

)# 顯示 none

print

(true

and1

)# 顯示 1

or遇到乙個判斷為等價true的值,表示式整體為當前值,丟掉剩餘部分。

and遇到乙個判斷為等價false的值,表示式整體為當前值,丟掉剩餘部分。

如果一直沒有遇到,則返回最後乙個值。

一串or連線的表示式中,只要有乙個為true,結果就為true;所有都為false時,表示式才為false

一串and連線的表示式中,只要有乙個false,結果就為false;所有都為true時,表示式才為true

合理調整表示式的順序,可以加快運算速度,避免程式出錯。

這種運算稱為短路邏輯

實踐:刪除列表或字典中的元素,如果存在則刪除,如果不存在則忽略

s =

print

('before'

, s)

# 顯示before

rm2 =

1in s and

not s.remove(1)

# 注意: 判斷和移除時的元素要相同

rm3 =

2in s and

not s.remove(2)

# not 是為了方便

print

('after '

, s)

# 顯示after

print

(f'rm2:, rm3:'

)# 顯示rm2:true, rm3:false

大家有沒有想到更好的實現方法,可以交流一下。

學習 Python學習(一) Python問答

一.為什麼要使用python?python的主要特點有 1 軟體質量,python 具有很強的可讀性,因此在重用和維護方面就比較方便 2 編碼效率,python沒有編譯和鏈結庫的過程 3 程式移植性,不做任何修改,python可執行在windows和linux系統 4 豐富的支撐庫,python既可...

python學習清單大全 python學習清單

學習單子 a部 python 大神vamei的blog之python篇 大神vamei的部落格很是推薦 各方面寫的都很好 我暫時只是看過他的python 網路和django的部分,看下來簡單易懂,很適合做個學習的大綱,然後靠自己日後不斷的充實進去。文章中也簡要的列出常用的一些命令語法之類的。pyth...

python列表學習 python列表學習整理

list1 列表 是一種有序的集合,可以隨時新增和刪除其中的元素。list1 lily lucy peter abel 列印列表 print list1 遍歷列表 end 迴圈中不換行print x,end for x in list1 print x 列表個數 print len list1 列表...