难道保证False == 0和True == 1,在Python(假设他们没有被用户重新分配)?例如,无论Python的版本(现有的,可能的,未来的版本)是什么,它是否以任何方式保证以下代码将始终产生相同的结果?
0 == False # True
1 == True # True
['zero', 'one'][False] # is 'zero'
Run Code Online (Sandbox Code Playgroud)
任何对官方文档的引用都将非常感谢!
编辑:正如许多答案所述,bool继承自int.因此,问题可以改写为:"文档是否正式表明程序员可以依赖于从整数继承的布尔值,以及值0和1?".这个问题与编写由于实现细节而不会失败的健壮代码有关!
true.ToString()
false.toString();
Output:
True
False
Run Code Online (Sandbox Code Playgroud)
是否有正当理由认为它是"真实"而非"真实"?在写XML时它会中断,因为XML的布尔类型是小写的,并且与C#的真/假不兼容(虽然不确定CLS).
更新
这是我在C#中解决它的非常hacky方式(用于XML)
internal static string ToXmlString(this bool b)
{
return b.ToString().ToLower();
}
Run Code Online (Sandbox Code Playgroud)
当然,这会给堆栈增加1个方法,但是除去ToLowers().
AtomicBoolean做什么,一个volatile布尔无法实现?
以下显示"0"在Javascript 中为false:
>>> "0" == false
true
>>> false == "0"
true
Run Code Online (Sandbox Code Playgroud)
那么为什么以下打印"ha"?
>>> if ("0") console.log("ha")
ha
Run Code Online (Sandbox Code Playgroud) 我试过了:
$var = false;
$var = FALSE;
$var = False;
Run Code Online (Sandbox Code Playgroud)
这些都不起作用.我收到错误消息
Bareword "false" not allowed while "strict subs" is in use.
是否有更好的方法来否定Java中的布尔值而不是简单的if-else?
if (theBoolean) {
theBoolean = false;
} else {
theBoolean = true;
}
Run Code Online (Sandbox Code Playgroud) 我看到了"新型" BOOL(YES,NO).
我读到这种类型几乎就像一个字母.
为了测试,我做了:
NSLog(@"Size of BOOL %d", sizeof(BOOL));
NSLog(@"Size of bool %d", sizeof(bool));
Run Code Online (Sandbox Code Playgroud)
很高兴看到两个日志显示"1"(有时在C++中bool是一个int,其sizeof是4)
所以我只是想知道bool类型是否存在某些问题?
我可以在不失速度的情况下使用bool(看似有效)吗?
我想编写一个bash函数来检查文件是否具有某些属性并返回true或false.然后我可以在我的脚本中使用它"if".但是我该怎么回事呢?
function myfun(){ ... return 0; else return 1; fi;}
Run Code Online (Sandbox Code Playgroud)
然后我像这样使用它:
if myfun filename.txt; then ...
Run Code Online (Sandbox Code Playgroud)
当然这不起作用.如何实现这一目标?
在Python中,如何创建一个任意形状的numpy数组,其中包含所有True或全部False?
围绕Integervs int在Java中进行了讨论.前者的默认值是null后者的默认值0.Booleanvs boolean?怎么样?
我的应用程序中的变量可以有0/ 1值.我想使用boolean/ Boolean而不想使用int.我可以使用Boolean/ boolean代替吗?