-1 python的用法
我理解使用0和1进行正确和错误的评估,但是有人能在下面向我解释-1的用法吗。s是一个文件名字符串-1 python的用法,python,Python,我理解使用0和1进行正确和错误的评估,但是有人能在下面向我解释-1的用法吗。s是一个文件名字符串 if s.find(".py")==-1: return False 关于内置函数查找的帮助: 查找(…) S.find(sub[,start[,end]])->int 如果搜索的字符串位于字符串的开头,则可以返回0。来自: 失败时返回-1 换句话说,如果在字符串中找不到子字符串,则返回-1 示例: >>> s = "Hello, world!" >>>
if s.find(".py")==-1:
return False
关于内置函数查找的帮助:
查找(…)
S.find(sub[,start[,end]])->int
如果搜索的字符串位于字符串的开头,则可以返回0。来自:
失败时返回-1
换句话说,如果在字符串中找不到子字符串,则返回-1
示例:
>>> s = "Hello, world!"
>>> s.find("el")
1
请注意,1
不能解释为布尔值(Python将True
和False
解释为布尔值)。1
是找到子字符串的起始索引。作为另一个示例,“w”位于字符串中的索引7处:
>>> s.find("w")
7
最后,foo
不在字符串中,因此尝试find
会返回-1
>>> s.find("foo")
-1
这只是一个惯例 来自python文档()
s.find()
方法返回s
中给定子字符串的索引。如果找到子字符串,它是介于0
和len(str)-1
之间的数字。如果未找到它,则选择-1
作为返回值,因为它不会与找到它的情况下的任何有效返回值冲突
请注意,这一行最好写为
if ".py" not in s:
return False
或者——有点不同,但可能是有意的意思——如
在这种情况下,-1用于表示“未找到”。另一种方法是在找不到给定字符串时引发异常。我不清楚为什么决定返回-1而不是引发异常。它可能与性能有关(引发异常的速度稍慢),也可能出于美观考虑(您需要一个
try
块,而不仅仅是检查返回值)。这在Python文档中-1:这个问题确实没有研究成果。您只需阅读解释器中该函数的文档:help(str.find)
。RTFM:这显然是一个新的用户帐户。让我们尽量不要惩罚他太多…你可以通过在python解释器中输入help(s.find)
来获得帮助(假设s
是你定义的字符串)。因为引发异常需要s.index()
。
string.find(s, sub[, start[, end]])
Return the lowest index in s where the substring sub is found such that sub is wholly contained in s[start:end]. Return -1 on failure. Defaults for start and end and interpretation of negative values is the same as for slices.
if ".py" not in s:
return False
if not s.endswith(".py"):
return False