国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python bool()函數

2023-04-24 19:21:40
字體:
來源:轉載
供稿:網友

bool()函數是Python的一個內建函數,其作用是對傳遞的對象或值參數進行標準的真值檢測并返回一個布爾值(True / False)。

bool()的語法格式

bool( [x] )

參數

該函數的參數 x 是一個可選參數,其可以是一個對象、某個具體的值或其它表達式。

返回值

該函數返回值有兩個:True 或者 False。當檢測為真時返回True,否則返回False.

關于真值檢測

在Python中,任何對象都可以進行真值檢測,這主要用于 if while 條件中。

如果一個對象中定義了__bool__()函數,其結果依賴于該函數的返回值情況;或者對象中定義了__len__()函數,其返回值為0時,其返回False,否則返回True。如果對象中未定義這兩個函數,都視為 True.

任何數值類型的0都會返回False:0, 0.0, 0j, Decimal(0), Fraction(0, 1);

任何空的序列值空的集合都返回False:'', (), [], {}, set(), range(0)——分別為空字符串,空的元組,空的列表,空的字典,空的集合和空范圍。

值為 False None 的量都會返回False。

Python bool()函數

bool()函數示例

1、用于數值

下面的例子說明bool()函數用于數字類型的輸出情況。

from fractions import Fraction
from decimal import Decimal

#變量
v1 = 55
v2 = 0
print("bool(v1):",bool(v1))
print("bool(v2):",bool(v2))

#浮點類型float
print("bool(0.00001):", bool(0.00001))
print("bool(0.0):", bool(0.0))

#復數complex
print("bool(12+34j):",bool(12+34j))
print("bool(0j):", bool(0j))

#十六進制
print("bool(0xF):", bool(0xF))
print("bool(0x0):", bool(0x0))

#表達式
print("bool(43 - 3):",bool(43 - 3))
print("bool(43 - 43):", bool(43 - 43))

#精確小數與分數
print("bool(Decimal(0.0)):", bool(Decimal(0.0)))
print("bool(Decimal(0.001)):", bool(Decimal(0.001)))

print("bool(Fraction(1, 123)):",bool(Fraction(1, 123)))
print("bool(Fraction(0, 123)):", bool(Fraction(0, 123)))

輸出結果:

bool(v1): True
bool(v2): False
bool(0.00001): True
bool(0.0): False
bool(12+34j): True
bool(0j): False
bool(0xF): True
bool(0x0): False
bool(43 - 3): True
bool(43 - 43): False
bool(Decimal(0.0)): False
bool(Decimal(0.001)): True
bool(Fraction(1, 4)): True
bool(Fraction(0, 4)): False

2、bool()函數用于字符串

str1 = "Python"
print(bool(str1))
str2 = ""
print(bool(str2))
str3 = "False"
print(bool(str3))
str4 = "0"
print(bool(str4))

輸出結果:

True
False
True
True

3、bool()函數用于布爾值和None值

f1 = True
print(bool(f1))
f2 = False
print(bool(f2))
f3 = None
print(bool(f3))

輸出結果:

True
False
False

4、bool()函數用于序列對象和集合對象

list1 = ["R","Python","SPSS"]
list2 = []
print(bool(list1))
print(bool(list2))

t1 = ("R","Python","SPSS")
t2 = ()
print(bool(t1))
print(bool(t2))

d1 = {"L1":"R","L2":"Python"}
d2 = {}
print(bool(d1))
print(bool(d2))

s1 = set(["R","Python","Java"])
s2 = set()
print(bool(s1))
print(bool(s2))

輸出結果:

True
False
True
False
True
False
True
False

5、bool()函數與自定義對象

當對象中定義了__bool__()函數時,其返回值由__bool__()函數決定,當未定義__bool__()函數而定義了__len__()函數時,其值由__len__()函數決定。

class Student():
    age = 0
    def __init__(self,age):
        self.age = age

    def __bool__(self):
        return bool(self.age)

class People():
    name = ''

    def __len__(self):
        return len(self.name)

s1 = Student(0)
print(bool(s1))

s2 = Student(20)
s2.age = 20
print(bool(s2))

s3 = People()
print(bool(s3))

s4 = People()
s4.name="優雅"
print(bool(s4))

輸出結果如下:

False
True
False
True

以上講解了Python 內置函數bool()函數的使用方法,如有問題歡迎留言。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 榆社县| 沁阳市| 隆安县| 富锦市| 南漳县| 怀集县| 平果县| 浦城县| 张北县| 德州市| 巫溪县| 苍梧县| 芷江| 石嘴山市| 宁国市| 万源市| 乌兰浩特市| 鄂托克前旗| 景谷| 甘泉县| 霍邱县| 嘉峪关市| 曲阳县| 习水县| 中牟县| 邹城市| 武宁县| 星座| 墨脱县| 漠河县| 繁峙县| 蒲城县| 石楼县| 东辽县| 萝北县| 鹿泉市| 茂名市| 南康市| 兰西县| 辉县市| 澜沧|