布爾值數據類型
一、布爾值
布爾值和布爾代數的表示完全一致,一個布爾值只有True
、False
兩種值,要麽是True
,要麽是False
,在Python中,可以直接用True
、False
表示布爾值(請註意大小寫),也可以通過布爾運算計算出來:
>>> True True >>> False False >>> 3 > 2 True >>> 3 > 5 False
布爾值可以用and
、or
和not
運算。
and
運算是與運算,只有所有都為True
,and
運算結果才是True
:
>>> True and True True >>> True and False False >>> False and False False >>> 5 > 3 and 3 > 1 True
or
運算是或運算,只要其中有一個為True
,or
運算結果就是True
:
>>> True or True True >>> True or False True >>> False or False False >>> 5 > 3 or 1 > 3 True
not
運算是非運算,它是一個單目運算符,把True
變成False
,False
變成True
:
>>> not True False >>> not False True >>> not 1 > 2 True
布爾值經常用在條件判斷中,比如:
if age >= 18: print(‘adult‘) else: print(‘teenager‘)
所有的數據類型自帶布爾值,只有0,None,空的布爾值為False
二、集合
定義集合:
集合內的元素必須是唯一的;
集合內的元素必須是可hash的,也是就不可變類型;
集合是無序的。
集合的作用一:關系運算;
集合的作用二:去重。
1、集合的創建
{1,2,3,1}
或
定義可變集合set
>>> set_test=set(‘hello‘) >>> set_test {‘l‘, ‘o‘, ‘e‘, ‘h‘}
改為不可變集合frozenset
>>> f_set_test=frozenset(set_test) >>> f_set_test frozenset({‘l‘, ‘e‘, ‘h‘, ‘o‘})
2、集合的常用操作:關系運算
python_s={‘egon‘,‘alex‘,‘鋼蛋‘,‘老王‘}
linux_s={‘alex‘,‘鋼蛋‘,‘歐德博愛‘,‘艾裏科四‘}
python_s & linux_s 交集
python_s | linux_s 並集
取只報名了python課程的學生:差集
python_s - linux_s
取只報名了linux課程的學生:差集
linux_s - python_s
取沒有同時報名python和linux課程的學:對稱差集
linux_s ^ python_s
python_s.intersection(linux_s) 交集
python_s.union(linux_s) 並集
python_s.difference(linux_s)) 差集#python_s-linux_s
python_s.symmetric_difference(linux_s) 對稱差集,python_s ^ linux_s
python_s.difference_update(linux_s) 將linux_s的值更新到python_s的幾個集合中
.add() 給集合添加元素
.remove() 刪除集合中的元素,無元素會報錯
.discard() 刪除集合中的元素,不報錯
.issubset() 判斷是否是子集
.issuperset() 判斷是否是父集
.isdisjoint() 判斷是否有交集,沒有交集返回True
布爾值數據類型