print("string1" 或 "string2" in string) 不给出布尔结果

Ank*_*sia 4 python python-3.x

为什么print("Lorem" and "aliqua" in string ) 给予真实。一个布尔值,

print("Lorem" or "aliqua" in string )给出了“Lorem”。一个字符串

string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"

print("Lorem" and "aliqua" in string )
>>> True

print("Lorem" or "aliqua" in string )
>>> Lorem
Run Code Online (Sandbox Code Playgroud)

Har*_*ani 5

尝试:

print("Lorem" in string and "aliqua" in string )
Run Code Online (Sandbox Code Playgroud)

print("Lorem" in string or "aliqua" in string )
Run Code Online (Sandbox Code Playgroud)

解释:字符串中的条件将始终为真,因为它检查字符串是否为空。

>>> if "harsha":
...   print("hi")
...
hi
>>> if "":
...   print("hi")
...
<<No output>>
Run Code Online (Sandbox Code Playgroud)

  • `string` 不是保留关键字,`str` 是。 (4认同)