中可选启动参数的类型错误字符串。查找()

2024-03-28 12:41:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难理解这是怎么发生的。当我运行以下命令时:

def find_in_string(string, ch):
    count = 0
    index = 0
    while 0 <= index < len(string):
        if string.find(string, ch, index) != -1:
            return True

find_in_string('asdfasdf', 's')

我得到的是:

^{pr2}$

但是,通过解释器运行如下:

index = 0
if string.find('asdfasdf', 's', index) != -1:
    return True

它返回“True”。所以我不明白字符串。查找没有为上述函数中的起始索引传递一个整数。有什么建议吗!在

编辑: 不管出于什么原因,在再次导入字符串之后,上面的函数现在可以工作了。也许咖啡太多了?在


Tags: 函数字符串in命令truestringindexreturn
1条回答
网友
1楼 · 发布于 2024-03-28 12:41:28

您的误解似乎来自导入string模块以及命名变量string。在

您不需要导入模块来使用find,而且如果您确实需要导入模块来执行其他操作,则可以将变量命名为其他名称。在

类型是str不是{}。在

^{}不是这样工作的。你是说

string.find(ch) # ', index' if you want

如果变量名为string

^{pr2}$

如果您的变量名为string,并且您确实想在类/类型str上访问它(没有理由)。在

在搜索的字符串上调用find,除非访问类/类型上的find,否则不会手动将字符串传递给findfind第一个手动传递的参数是要搜索的字符串,后跟start和{}索引。因为您似乎在搜索整个字符串,所以可以省略它们。在

相关问题 更多 >