【发布时间】:2015-12-11 08:17:54
【问题描述】:
我遇到了 python 比较字符串与 True/False 的奇怪行为。
我以为python会打印如下:
if "Test" == True:
print("Hello1")
但事实并非如此。 所以我写了一些测试用例,有些看不懂。
if "Test" == True:
print("Hello1")
if "Test" == False:
print("Hello2")
#This I understand
if bool("Test") == True:
print("Hello3")
#This I understand too
if bool("") == False:
print("Hello4")
if "Test":
print("Hello5")
输出
>> Hello3
>> Hello4
>> Hello5
所以我不明白:
- 如果不打印 Hello1 为什么也不打印 Hello2?
- 为什么会打印 Hello5,是否对 bool("Test") 进行了隐式转换?
【问题讨论】:
标签: string python-3.x comparison