标签: boolean

Python中的False == 0和True == 1是一个实现细节还是由语言保证?

难道保证False == 0True == 1,在Python(假设他们没有被用户重新分配)?例如,无论Python的版本(现有的,可能的,未来的版本)是什么,它是否以任何方式保证以下代码将始终产生相同的结果?

0 == False  # True
1 == True   # True
['zero', 'one'][False]  # is 'zero'
Run Code Online (Sandbox Code Playgroud)

任何对官方文档的引用都将非常感谢!

编辑:正如许多答案所述,bool继承自int.因此,问题可以改写为:"文档是否正式表明程序员可以依赖于从整数继承的布尔值,以及值01?".这个问题与编写由于实现细节而不会失败的健壮代码有关!

python boolean equality language-specifications

230
推荐指数
3
解决办法
23万
查看次数

为什么Boolean.ToString输出"True"而不是"true"

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().

.net c# boolean

226
推荐指数
6
解决办法
11万
查看次数

224
推荐指数
11
解决办法
9万
查看次数

在JavaScript中,为什么"0"等于false,但是当'if'测试时它本身并不是假的?

以下显示"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)

javascript boolean

224
推荐指数
6
解决办法
16万
查看次数

如何在Perl中使用布尔变量?

我试过了:

$var = false;
$var = FALSE;
$var = False;
Run Code Online (Sandbox Code Playgroud)

这些都不起作用.我收到错误消息

Bareword "false" not allowed while "strict subs" is in use.

perl boolean

218
推荐指数
7
解决办法
24万
查看次数

在Java中切换布尔变量的最简洁方法?

是否有更好的方法来否定Java中的布尔值而不是简单的if-else?

if (theBoolean) {
    theBoolean = false;
} else {
    theBoolean = true;
}
Run Code Online (Sandbox Code Playgroud)

java boolean

205
推荐指数
4
解决办法
14万
查看次数

Objective-C:BOOL vs bool

我看到了"新型" 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(看似有效)吗?

c types boolean objective-c

188
推荐指数
5
解决办法
18万
查看次数

从Bash函数返回一个布尔值

我想编写一个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)

当然这不起作用.如何实现这一目标?

bash shell boolean

186
推荐指数
8
解决办法
18万
查看次数

如何创建一个所有True或所有False的numpy数组?

在Python中,如何创建一个任意形状的numpy数组,其中包含所有True或全部False?

python arrays boolean numpy numpy-ndarray

178
推荐指数
6
解决办法
17万
查看次数

Java中的布尔与布尔值

围绕Integervs int在Java中进行了讨论.前者的默认值是null后者的默认值0.Booleanvs boolean?怎么样?

我的应用程序中的变量可以有0/ 1值.我想使用boolean/ Boolean而不想使用int.我可以使用Boolean/ boolean代替吗?

java boolean

173
推荐指数
6
解决办法
27万
查看次数