我有一个Python程序,其中两个变量设置为该值'public'.在条件表达式中,我的比较var1 is var2失败了,但是如果我将其更改为var1 == var2它则返回True.
现在,如果我打开我的Python解释器并进行相同的"是"比较,它就会成功.
>>> s1 = 'public'
>>> s2 = 'public'
>>> s2 is s1
True
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
我已经在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)