这里发生了什么是Python”补充隐含的bool()构造后if,因为任何其次if,应解决是布尔值。在这种情况下,您的代码等效于
if bool("hello"):
print "yes"
根据Python的说明,bool(x)构造函数接受任何内容并根据以下情况决定是否成立
如果x是整数,仅0是False其他一切都是True
如果x浮动,仅0.0是False其他一切都是TRUE`
如果x是列表中,仅[]是False其他一切都是True
如果x设置/快译通,仅{}是False其他一切都是True
如果x元组,仅()是False其他一切都是True
如果x是字符串,仅“"是False其他一切True。请注意,bool(“False”)它将返回到True
这是我上面列出的案例的日志
Python 3.4.3 (default, Feb 25 2015, 21:28:45)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> bool(0)
False
>>> bool(1)
True
>>> bool(-1)
True
>>> bool(0.0)
False
>>> bool(0.02)
True
>>> bool(-0.10)
True
>>> bool([])
False
>>> bool([1,2])
True
>>> bool(())
False
>>> bool(("Hello","World"))
True
>>> bool({})
False
>>> bool({1,2,3})
True
>>> bool({1:"One", 2:"Two"})
True
>>> bool("")
False
>>> bool("Hello")
True
>>> bool("False")
True