为什么Python中的字符串会解析为True?

Dav*_*lfe 0 python if-statement

标题可能需要一些重新措辞,但这是我的问题:

下面的代码结果为False,因此不打印任何内容.改为d = 1<10最终为真.

c = "text"
d = 1>10

if d:
    print c
Run Code Online (Sandbox Code Playgroud)

很简单.但现在如果我改变d = "more text"if语句也打印c.为什么?

Jay*_*hik 7

这就是python字符串的定义方式.当您尝试将它们作为布尔值计算时,只返回空字符串False.所有其他字符串返回True.

>>> bool('not an empty string')
True
>>> bool('')
False
Run Code Online (Sandbox Code Playgroud)