检查字符串索引时,“==”与 "in" 或 "if in" 之间有什么实际区别?

Any practical differences in between "==" vs "in" or "if in" when checking string index?

下面的示例之间是否存在任何实际差异,使用其中一个比其他示例更好?

s = 'this@mail.is'

for i in range(len(email)):
  print('@' in email[i])

#vs

for i in range(len(email)):
    print(email[i] == '@')
#or

if '@' in email:
   

in 检查子串 "a" in "apple" > True

== 检查是否完全相同

b=10;
if(b==10)

没有实用的区别...这里以您的示例为例...
本质上,(如 here and here 所解释),in、python 调用底层 __contains__ 函数。

因此,在您的示例中。没区别。


另一方面,可以创建一个模块并为 __contains__ 函数定义不同的行为。
我想这样做更多是出于学术目的,但可以仍然可以做到。