我遇到了一个奇怪的
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”)?