我正在尝试将两个字符串与is进行比较。一个字符串由函数返回,而另一个只是在比较中声明。是测试对象身份,但根据这个页面,由于 Python 的内存优化,它也适用于两个相同的字符串。但是,以下方法不起作用:
def uSplit(ustring):
#return user minus host
return ustring.split('!',1)[0]
user = uSplit('theuser!host')
print type(user)
print user
if user is 'theuser':
print 'ok'
else:
print 'failed'
user = 'theuser'
if user is 'theuser':
print 'ok'
输出:
输入“str” 用户 失败的 行
我猜这是因为函数返回的字符串是与字符串文字不同的字符串“类型”。无论如何要获得一个返回字符串文字的函数吗?我知道我可以使用==,但我只是好奇。