一、bool值shell
假:False、None、全部的數字類型0(包含浮點型、長整型和其餘類型)、''、[]、()等空的序列都爲假,空的字典{}也是假函數
真:除去假的都當作真spa
bool函數能夠將其餘類型值轉換成bool值對象
>>> bool(0.00)
False
>>> bool(1.23)
Trueblog
>>> bool('string')
True內存
二、條件比較運算符,比較運算符不適用不一樣類型(不一樣類型不可作比較會報錯)input
三、相等運算符==,判斷左右兩邊內容是否一致,包括值和類型string
>>> x = y =[1,2,3]
>>> z = [1,2,3]io
>>> x == y
True
>>> z == x
Trueast
四、is 同一性運算符 判斷的是變量指向的內容和位置是否一致,就是判斷左右兩邊是不是同一個對象
>>> x = y =[1,2,3]
>>> z = [1,2,3] ###z是一個跟x和y指向的位置的內容相同,可是內存中的位置不一樣 因此z is x返回False
>>> x is y
True
>>> z is x
False
實例:
>>> x = [1,2,3]
>>> y = [2,4]
>>> x is not y
True
>>> del x[2]
>>> y[1] = 1
>>> y.reverse()
>>> x == y ###判斷同類型變量的內容相等性
True
>>> x is y ###判斷變量的同一性
False
五、bool運算符 and、or、not ,布爾運算符也成爲條件運算符,是短邏輯運算(只有在須要求值時才進行運算)
>>> a = 1
>>> b = 2
>>> a and b ###由於是and運算因此若是a是true 則須要進行b的運算,而後返回b的值;若是a是false,則返回a的值,不會再去運算b的值
2
>>> a = 0
>>> a and b ####由於是and運算,若是a是false,則返回a的值,不會再去運算b的值
0
### 若是是OR運算的話,若是第一個條件的值爲true,則返回第一個條件的值,第二個條件不會運算;若是第一爲false,則運行第二個的值,返回第二個的值
>>> name = input('please enter your name:') or '<unknown>'
please enter your name: ###沒有輸入值,直接回車,返回'<unknown>'給name
>>> name
'<unknown>'
###內置條件語句 a if b else c:b爲真返回a ,不然返回b
>>> input('please enter your name:') if input('please enter your name:') else '<unknown>'
please enter your name:
'<unknown>'
not 是對條件的bool值取反
>>> a = 0
>>> not a
True
六、斷言assert,條件成立則不返回,條件不成立則返回AssertError,提示內容能夠本身指定
>>> a =10
>>> assert a<=10 and a>0
>>> assert 0<a<=10,'the age is listic'####條件不成立時返回本身的指定提示'the age is listic'
Traceback (most recent call last):
File "<pyshell#183>", line 1, in <module>
assert 0<a<=10,'the age is listic'
AssertionError: the age is listic