为什么在python中,当搜索字符串但未能找到匹配项时,find函数返回-1?

为什么在python中,当搜索字符串但未能找到匹配项时,find函数返回-1?,python,find,Python,Find,我预计回报率为0。-1仅仅等同于false吗?有一刻我以为这是因为0是一个位置索引?在字符串中,但-1也是。虽然我知道只要记住这就是find操作的工作原理就足够了,但我想知道是否有更深入的解释,或者这是否是我在学习过程中会继续遇到的常见问题。find方法的目标是返回索引值,对于所有实际目的,程序员都希望它为正值。在这种情况下,任何负值都意味着函数无法找到特定的元素 不使用True或False的原因只是为了避免成千上万的打字错误@jornsharpe我相信你的评论最好地回答了我的问题。虽然-1是一

我预计回报率为0。-1仅仅等同于false吗?有一刻我以为这是因为0是一个位置索引?在字符串中,但-1也是。虽然我知道只要记住这就是find操作的工作原理就足够了,但我想知道是否有更深入的解释,或者这是否是我在学习过程中会继续遇到的常见问题。

find方法的目标是返回索引值,对于所有实际目的,程序员都希望它为正值。在这种情况下,任何负值都意味着函数无法找到特定的元素


不使用True或False的原因只是为了避免成千上万的打字错误

@jornsharpe我相信你的评论最好地回答了我的问题。虽然-1是一个索引,但查找函数总是在成功时返回非负索引,而-1是./P>,因为0是第一个字符的索引,在开始时发现的两个单独的情况下返回是非常不明智的,根本没有发现。我从来没有考虑过1个位置,真的,只是python索引的简写。我认为这个问题比最初看起来的要好。对于记录,0相当于False。布尔-1回归True@jonrsharpe和-1是最后一个的索引,所以这只是在差和稍差之间进行选择。@Ev.Kounis这是真的,但是字符串中的每个字符都有两个索引,并且find总是返回正的索引,因此您可以检查索引>=0。如果您只想要true或False,请使用in。