相关疑难解决方法(0)

Python布尔值 - 如果x:,则vs x == True,vs,如果x为True

如果以前曾经问过这个问题,我会道歉,但是我徒劳地搜索了我的确切问题的答案.基本上,使用Python 2.7,我有一个运行一系列地理处理工具的程序,取决于用户在脚本中调整的一系列True/False变量所需的内容,例如

x = True

if x:
    run function
Run Code Online (Sandbox Code Playgroud)

但是,我现在发现x不需要字面上的"True"来运行该函数.例如:

In: x = True
    if x:
        print True

Out: True

In: x = 123
    if x:
        print True

Out: True

In: x = 'False'
    if x:
        print True

Out: True

In: x = False
    if x:
        print True

Out: 
Run Code Online (Sandbox Code Playgroud)

因此,除False之外的任何值似乎都会计算为True,如果x == Truex为True,则不会出现这种情况.看作PEP 8强烈建议仅使用if x: variant,有人可以解释为什么会出现这种情况吗?似乎如果x:更像是"如果x不是假"或"如果x存在"的测试.考虑到这一点,我相信如果x是真的我应该使用:在这种情况下,尽管PEP 8必须说.

亲切的问候

python if-statement boolean

24
推荐指数
2
解决办法
3万
查看次数

标签 统计

boolean ×1

if-statement ×1

python ×1