boolpython
㈠ 在python中,bool表示的數據類型是
bool表示的數據類型是 布爾型,即邏輯型,它的數值是 True 或 False, 即 真 或 假,兩者中的一個。
例如:
print(10 > 9) 輸出 結果 是 True
print(10 == 9) 輸出 結果 是 False
print(10 < 9) 輸出 結果 是 False
㈡ python中怎麼定義一個布爾類型的變數
直接定義a=True/False就行,示例代碼:
#定義布爾值類型參數a,b,值分別為True,False
a=True
b=False
printa,b
printtype(a),type(b)
>>>
True False
<type 'bool'> <type 'bool'>
㈢ Python內部是如何判斷一個對象是True還是False
作者:gao xinge
鏈接:https://www.hu.com/question/53708403/answer/139331035
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
內建函數boolpython中的所有對象都可以用內建函數bool來判斷布爾值是True還是False,如下>>> bool(1)
True
>>> bool(0)
False
>>> bool(True)
True
>>> bool(False)
False
>>> def f(a):
return a
>>> bool(f)
True
>>> bool(__builtins__)
True
>>> import collections
>>> bool(collections)
True
__nonzero__函數和__len__函數內建函數bool的邏輯順序: 如果對象沒有實現__nonzero__函數或者__len__函數,返回True; 如果對象實現了__nonzero__函數,根據__nonzero__函數的返回值判斷; 如果對象沒有實現__nonzero__函數,但實現了__len__函數,根據__len__函數的返回值判斷如下>>> # example one
>>> class f:
def __init__(self, a, b):
self.a = a
self.b = b
>>> t = f(0,1)
>>> bool(t)
True
>>> # example two
>>> class f:
def __init__(self, a, b):
self.a = a
self.b = b
def __nonzero__(self):
return self.a
def __len__(self):
return self.b
>>> t = f(0,1)
>>> bool(t)
False
>>> # example three
>>> class f:
def __init__(self, a, b):
self.a = a
self.b = b
def __len__(self):
return self.b
>>> t = f(1,0)
>>> bool(t)
False
㈣ python 中bool表達式中+1是什麼意思,詳見補充
樓主先看這段Line_value.find(message)
massage應該是前文定義的某個關鍵字變數名。
然後用find方法來查找他是否在你截取的行內(Line_value這個變數)
find方法的意義是在字元串中索引關鍵字,找到了就輸出他的索引號(值會>=0),若找不到就輸出
-1。
若是沒有輸出的是-1那這個非0的值布爾值是為真,若索引號是5那也會是真,就會影響結果的判斷。
所以再在值上+1,那如果沒有的話值就是0,布爾值為false。
若有的話最少他的索引值也是0,+1後就是1,布爾值為TRUE。
這樣就區別開了找到還是沒找到。這個+1的意義就在這里,把find返回的值加個1,讓找到和沒找到的返回結果的布爾值分開。
㈤ python的數據類型有哪些
python數據類型主要分為以下六大類:Numbers(數字)、String(字元串)、List(列表、Tuple(元組)、Dictionary(字典)、Set(集合)。
Python的六個標准數據類型中:
不可變數據(3 個):Number(數字)、String(字元串)、Tuple(元組)。
可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。
字元串類型:
python的字元串或串(String)是由數字、字母、下劃線組成的一串字元。
㈥ bool函數是什麼意思
bool型函數指的是返回值為bool類型的函數,其調用方式和int 型函數沒有太大的區別。
bool型變數的值只有 真 (true) 和假 (false)。bool可用於定義函數類型為布爾型,函數里可以有 return true; return false 之類的語句。
bool為布爾型用作邏輯判斷
BOOL在<windef.h>typedef int BOOL;
在<wtypes.h>typedef long BOOL;
(6)boolpython擴展閱讀:
bool取值false和true,0為false,非0為true。(例如-1和2都是true)。
如果數個bool對象列在一起,可能會各佔一個Byte,這取決於編譯器。
BOOL是微軟定義的typedef int BOOL(在windef.h中),0為FALSE,1為TRUE。(-1和2既不是TRUE也不是FALSE)。
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
布爾型變數bool
布爾型變數的值只有 真 (true) 和假 (false)。
布爾型變數可用於邏輯表達式,也就是「或」「與」「非」之類的邏輯運算和大於小於之類的關系運算,邏輯表達式運算結果為真或為假。
bool可用於定義函數類型為布爾型,函數里可以有 return TRUE; return FALSE 之類的語句。
㈦ python-邏輯運算:not\and\or和布爾值:True\False
這東西在每一個語言都有,and or not 對應與、或、非三種邏輯運算;True和False是bool值,即真和假。
邏輯運算和布爾值經常用於if判斷語句、循環語句的條件語句。
首先作為控制條件應該是一個布爾值,即真和假——True和false。
python的內置類——布爾類,只有兩個實例:True和false。對於一般數字而言,0是False,非0是True;對於序列和容器類型,如列表、字典、字元串等,空為False,非空為True。
所以就有了這樣的用法:
輸出:1 為True
輸出: 0 為 False
輸出:a = '字元串'
這了可以看出一個實例本身可以作為控制條件,這是因為,解釋器會先把這個實例轉換為bool類型,然後根據這個bool類型執行程序。即bool(a) = True、bool(b) = False。
但是只用這樣的方式控製程序顯然不夠,比如我希望a為空,b為非空的時候,我輸出「我天下第一」,這怎麼辦?
如果不用not and or 就會寫成這樣:
輸出:我天下第一
可以把a 看成False,b看成True。
從這里我們可以看到,我們用了兩層if--else語句來判斷a為空,b為非空的情況,那麼我用邏輯運算呢?
輸出:我天下第一
一樣的:可以把a 看成False,b看成True。那麼not a and b的意思就是:not False and True
這時候就是邏輯運算符的優先順序的問題,這可以借鑒C語言的那本書《C程序設計》第五版的第92頁
!非
算數運算符
關系運算符
&& 和 ||
賦值運算符
運算優先順序從上到下,越來越低。
這是C語言里的,在python里就是:
not -------------->高
and 和 or ---------->低
所以我們先算not
於是 not False and True 就成所以了True and True這就很清楚了結果為True,所以「我天下第一」。
所以我們就可以總結出:
1.先將實例變為布爾值
2.在計算所有的not
3.根據語言特性,從左到右或者從右到左計算邏輯運算結果。
當然在python中是從左到右。
and 和 or 運算具有短路保護!什麼意思呢?看一個栗子
1 or a
or的左邊是1也就是True,根據or的運演算法則,只要有一個真則為真,所以不管a是真還是假,結果都是真。
0 and a
and 左邊為0,為False,同樣,and只要有一個為假則為假,所以不管a是真還是假,結果都是假。
所以and 和 or 的結果可以根據第一個操作數的值來確定,那麼他就不會對第二個操作數進行運算。
這個功能用起來要很小心,不然很可能會出現想不到的結果。
這里會輸出什麼呢?
輸出:我天下第一
因為x是True,無論y and z 的結果是什麼,這個語句的結果都是True,這就是短路保護,當然也有的人說惰性計算。
我覺得迭代器、生成器那個才叫惰性計算。