python 中布林值使用常量true 和 false來表示;注意大小寫
比較運算子< > ==
等返回的型別就是bool型別;布林型別通常在 if 和 while 語句中應用
這邊需要注意的是,python中,bool是int的子類(繼承int),故true==1 false==0
是會返回ture的,有點坑,如要切實判斷用*** is true
print
(true==1
)# 返回true
print
(false==0
)# 返回true
print(1
istrue
)print(0
isfalse
)
另外,還有幾個坑。。。 如,python2中true/false不是關鍵字,因此我們可以對其進行任意的賦值;同理,python 中 if(true) 的效率遠比不上 if(1)
true
="true is not keyword in python2"
# python2 版本中true false不是關鍵字,可被賦值,python3中會報錯
另,由於bool是int,可進行數字計算 print(true+true)
true or false 判定
以下會被判定為 false :
none
false
zero of any numeric type
,for example,0,
0.0,0j.
any empty sequence,
for example,'',
(),[
].for example,
.instances of user-defined classes,
if the class
defines a __bool__(
)or __len__(
) method, when that method returns the integer zero or
bool value false
.
除了以上的,其他的表示式均會被判定為 true,這個需要注意,與其他的語言有比較大的不同。
'''
'''print
(bool()
)print
(bool
(false))
print
(bool(0
),bool
(0.0),
bool(0j
))print
(bool(""
),bool((
)),bool([
]),bool()
)class
alfalse()
:def
__bool__
(self)
:# 定義了 __bool__() 方法,始終返回false
return
false
f = alfalse(
)print
(bool
(f))
class
alzero()
:def
__len__
(self)
:# 定義了 __len__() 方法,始終返回0
return
0zero = alzero(
)print
(bool
(zero)
)class
justaclass()
:pass
c = justaclass(
)print
(bool
(c))
# 一般class instance都返回為true
布林運算子 and or not
注意均為小寫:and or not
; 注意布林運算的優先順序低於表示式,not a == b
相當於not (a == b)
, 若a == not b
就會有語法錯誤
print((
true
andfalse),
(false
andfalse),
(true
andtrue))
print((
true
o***lse),
(false
o***lse),
(true
ortrue))
print((
nottrue),
(not
false))
print(1
>
1and
1<1)
# 表示式優於bool運算 相當於 print( (1>1) and (1<1) )
print((
1>
1and1)
<1)
# 加括號了,值就不一樣了
print
(true
and1
)# true and 數字,不建議這麼使用,返回的是數字
print
(true
and111
)print
(false
and2
)# false and 數字,返回false
print
(not1==
1)t =true
f =false
# print(t == not f) # 會報錯
print
(t ==
(not f)
)# 需加括號
python 布林型別bool
布林型別是number這種資料型別中的一種 true false 非0的資料轉化為布林型別都是true 0轉化為布林型別是false 非空的字串轉化為布林型別都是true 空的字串轉化為布林型別是false 以上同樣適用於列表和元組 true true false false bool 1 true...
布林型別(bool)
布林型別 bool 就是用於判斷真假的資料型別,python中只有兩種布林型別 true與false,注意首字母大寫 示例a 8b 5print a b,條件成立,返回 s a b print a,條件不成立,返回 s a返回結果 a b,條件成立,返回 true aisinstance 函式是py...
C語言的布林型別 Bool
也許很多人都和我一樣,不知道現在的c語言已經有了布林型 從c99標準開始,型別名字為 bool 在此之前的c語言中,使用整型int來表示真假。在輸入時 使用非零值表示真 零值表示假。在輸出時 真的結果是1,假的結果是0 這裡我所說的 輸入 意思是 當在乙個需要布林值的地方,也就是其它型別轉化為布林型...