相关疑难解决方法(0)

为什么使用'=='或'is'比较字符串有时会产生不同的结果?

我有一个Python程序,其中两个变量设置为该值'public'.在条件表达式中,我的比较var1 is var2失败了,但是如果我将其更改为var1 == var2它则返回True.

现在,如果我打开我的Python解释器并进行相同的"是"比较,它就会成功.

>>> s1 = 'public'
>>> s2 = 'public'
>>> s2 is s1
True
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

python string comparison identity equality

1076
推荐指数
13
解决办法
148万
查看次数

检查空字符串时,"== False"和"is not"之间是否有区别?

我已经在stackoverflow的其他地方读过,在Python中检查空字符串的最优雅方法是(例如,假设它是一个被调用的字符串response):

if not response:
    # do some stuff 
Run Code Online (Sandbox Code Playgroud)

原因是字符串可以计算为布尔对象.

所以我的问题是,下面的代码是否说同样的事情?

if response == False:
    # do some stuff
Run Code Online (Sandbox Code Playgroud)

python boolean-expression

2
推荐指数
1
解决办法
510
查看次数