Python 布林型別 bool

2021-10-25 04:50:15 字數 3052 閱讀 9950

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 這裡我所說的 輸入 意思是 當在乙個需要布林值的地方,也就是其它型別轉化為布林型...