标签: boolean

double equals vs在python中

我在Python解释器中运行以下代码:

>>> foo = 10
>>> dir(foo) == dir(10)
True
>>> dir(foo) is dir(10)
False
>>> 
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

python comparison boolean equality equals

74
推荐指数
1
解决办法
8万
查看次数

将从文件读取的True/False值转换为boolean

我正在读取True - False文件中的值,我需要将其转换为布尔值.目前,True即使将值设置为,它也始终将其转换为False.

这MWE是我正在尝试做的事情:

with open('file.dat', mode="r") as f:
    for line in f:
        reader = line.split()
        # Convert to boolean <-- Not working?
        flag = bool(reader[0])

if flag:
    print 'flag == True'
else:
    print 'flag == False'
Run Code Online (Sandbox Code Playgroud)

该file.dat文件基本上由一个带有值的字符串组成True或False写在里面.这种安排看起来非常复杂,因为这是一个来自更大代码的最小例子,这就是我将参数读入其中的方式.

为什么flag总是转换成True?

python string boolean

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

明确地与布尔常量进行比较是不好的,例如在Java中是否(b == false)?

写不好

if (b == false) //...

while (b != true) //...
Run Code Online (Sandbox Code Playgroud)

是不是总是更好,而不是写:

if (!b) //...

while (!b) //...
Run Code Online (Sandbox Code Playgroud)

据推测,性能没有差异(或者存在?),但是如何衡量两者之间的显性,简洁性,清晰度,可读性等?

更新

为了限制主观性,我还要感谢来自权威编码风格指南的任何引用,这些引用始终是优选的,或者在何时使用.


注意:变量名称b仅用作示例,ala foo和bar.

java boolean coding-style

72
推荐指数
7
解决办法
2万
查看次数

如何在Python中获得布尔值的相反(否定)?

对于以下示例:

def fuctionName(int, bool):
    if int in range(...):
        if bool == True:
            return False
        else:
            return True
Run Code Online (Sandbox Code Playgroud)

有没有办法跳过第二个if语句?只是告诉计算机返回布尔值的反面bool?

python boolean

72
推荐指数
4
解决办法
12万
查看次数

在C++中使用按位运算符进行布尔运算

是否有任何理由不在C++中对"bool"值使用按位运算符&,|和^?

我有时会遇到两个条件中只有一个是真的(XOR)的情况,所以我只是将^运算符抛出到条件表达式中.我有时也希望评估条件的所有部分是否结果是真的(而不是短路),所以我使用&和|.我有时也需要累积布尔值,而且&=和| =非常有用.

这样做时我已经有了一些眉毛,但代码仍然比其他方面更有意义和更清洁.是否有任何理由不将这些用于布尔?是否有任何现代编译器会给出不好的结果?

c++ boolean bitwise-operators

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

如何在Rails中提交布尔参数?

我正在提交一个show_all带有值的参数true.该值与模型无关.

我的控制器将此参数分配给实例变量:

@show_all = params[:show_all]
Run Code Online (Sandbox Code Playgroud)

然而,@show_all.is_a? String和if @show_all == true总是失败.

Rails解析为布尔值有什么价值?如何明确指定我的参数是布尔值,而不是字符串?

parameters parsing boolean ruby-on-rails

69
推荐指数
4
解决办法
6万
查看次数

SQL Server - 布尔文字?

如何在SQL Server中编写文字布尔值?参见样品使用:

select * from SomeTable where PSEUDO_TRUE
Run Code Online (Sandbox Code Playgroud)

另一个样本:

if PSEUDO_TRUE
begin
  select 'Hello, SQL!'
end 
Run Code Online (Sandbox Code Playgroud)

注意:上面的查询与我将如何使用它无关.它只是测试文字布尔值.

sql sql-server boolean literals

69
推荐指数
8
解决办法
17万
查看次数

在这种情况下,为什么bool而不是bool都返回true?

这是我的代码:

#include <cstring>
#include <iostream>
int main() {
    bool a;
    memset(&a, 0x03, sizeof(bool));
    if (a) {
        std::cout << "a is true!" << std::endl;
    }
    if (!a) {
        std::cout << "!a is true!" << std::endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

它输出:

a is true!
!a is true!
Run Code Online (Sandbox Code Playgroud)

似乎!运算符bool仅反转最后一位,但每个不相等的值0都被视为true.这导致显示的行为,这在逻辑上是错误的.这是实施中的错误,还是规范允许这样做?请注意,memset可以省略,并且行为可能是相同的,因为a包含内存垃圾.

我正在使用gcc 4.4.5,其他编译器可能会采用不同的方式.

c++ boolean

69
推荐指数
2
解决办法
4813
查看次数

如何在Python中将布尔值连接到字符串?

我想完成以下任务

answer = True
myvar = "the answer is " + answer
Run Code Online (Sandbox Code Playgroud)

并且myvar的值是"答案是真的".我很确定你可以用Java做到这一点.

python string casting boolean concatenation

68
推荐指数
3
解决办法
10万
查看次数

使用bool作为整体是Pythonic吗?

False相当于0并且True是等价的,1因此可以做这样的事情:

def bool_to_str(value):
    """value should be a bool"""
    return ['No', 'Yes'][value]

bool_to_str(True)
Run Code Online (Sandbox Code Playgroud)

请注意值是如何bool但是用作int.

这是使用Pythonic还是应该避免?

python boolean

66
推荐指数
5
解决办法
8049
查看次数