Python實際上是否包含布爾值?我知道你可以這樣做:Python中的布爾值
checker = 1
if checker:
#dostuff
但我很迂腐,喜歡看Java中的布爾值。例如:
Boolean checker;
if (someDecision)
{
checker = true;
}
if(checker)
{
//some stuff
}
在Python中是否有這樣的事情?我似乎無法在文檔中找到類似的東西。
Python實際上是否包含布爾值?我知道你可以這樣做:Python中的布爾值
checker = 1
if checker:
#dostuff
但我很迂腐,喜歡看Java中的布爾值。例如:
Boolean checker;
if (someDecision)
{
checker = true;
}
if(checker)
{
//some stuff
}
在Python中是否有這樣的事情?我似乎無法在文檔中找到類似的東西。
checker = None # not necessary
if some_decision:
checker = True
if checker:
# some stuff
[編輯]
欲瞭解更多信息:http://docs.python.org/library/functions.html#bool
你的代碼工作過,因爲1轉換爲真時,必要的。 其實Python很久沒有布爾類型(就像在老C中一樣),有些程序員使用整數而不是布爾值。
布爾內建值大寫:True
和False
。
還請注意,您可以做checker = bool(some_decision)
作爲一種簡寫 - bool
將永遠只會返回True
或False
。
這是很好的瞭解以供將來參考該classes defining __nonzero__
or __len__
將取決於True
或False
對這些功能的結果,但幾乎所有其他對象的布爾結果將是True
(除None
對象,空序列,和數字零) 。
布爾類型在文檔中定義:
http://docs.python.org/library/stdtypes.html#boolean-values
從文檔引用:
布爾值是兩個恆定對象虛假與真實。它們被用來表示真值(儘管其他值也可以被認爲是錯誤或真實的)。在數值上下文中(例如,當用作算術運算符的參數時),它們的行爲分別與整數0和1相同。如果該值可以被解釋爲真值(參見上面的真值測試部分),那麼可以使用內置函數bool()將任何值轉換爲布爾值。
它們分別被寫爲False和True。
所以在Java代碼中刪除括號,改變true
到True
,你會確定:)
+1,這是我正在尋找我自己的答案的那種引用。 –
True
...和False
明顯。
否則,None
評估爲False,整數0
和浮點數0.0
(儘管我不會使用像這樣的浮點數)。 此外,空列表[]
,空連音符()
,空字符串''
或""
評估爲False。
自己嘗試一下與功能bool()
:
bool([])
bool(['a value'])
bool('')
bool('A string')
bool(True) # ;-)
bool(False)
bool(0)
bool(None)
bool(0.0)
bool(1)
等。
是的,有一個bool
數據類型(從int
繼承和只有兩個值:True
和False
)。
但是Python對每個對象都有boolean-able
的概念,當調用函數bool([x])
時會使用這個概念。
X =布爾(0)#假&& X =布爾(1)#真 –
與Java,你會宣稱boolean flag = True
,在Python中你可以聲明myFlag = True
的Python會將此解釋爲布爾變量
記住...創建變量時,你不需要申報類型。只要'checker = False'就足夠了。 –
@Dominic Bou-Samra:「你不需要聲明類型」?這不完全正確。我想你應該說「你不可能爲變量聲明一個類型」。 –