我正在对“if”语句进行快速测试,下面的代码片段会按预期生成打印输出。
案例1
x = True
if x:
print("Roses are red")
>>>中的结果玫瑰是红色的,在翻译中
另外:
type(x)
>>> <class 'bool'>
正如所料。
然后我尝试了:
案例2
x = "True"
if x:
print("Roses are red")
我再次得到了结果:玫瑰红了
和:
>>> type(x)
<class 'str'>
有人可以在第二种情况下解释“if条件是否满足”(如果这是描述情况的适当方式)并执行print()?
我原以为正确的操作就像是
if <expression>:
<do this>
当“表达式”评估为布尔值值为True时,“执行此操作”仅执行 。当“表达式”是字符串时,为什么要“执行此操作”?