Python “{}+{}”的含义

Python “{}+{}”的含义,python,tkinter,Python,Tkinter,我是Tkinter的新手,正在做一个文本编辑器。我想在我的代码中实现一个findtext功能,最近我遇到了一行我不太理解的代码。我想了解这行代码的作用。 这是代码行: '{}+{}c'.format(start_pos, len(needle)) 它将生成一个新字符串,其中format的参数将替换{}: 输出: 1+3c 查找此类内容的最佳位置无疑是Python文档 我个人会用谷歌搜索来搜索: site:https://docs.python.org/ format 然后选择顶部链接,并对页

我是Tkinter的新手,正在做一个文本编辑器。我想在我的代码中实现一个findtext功能,最近我遇到了一行我不太理解的代码。我想了解这行代码的作用。 这是代码行:

'{}+{}c'.format(start_pos, len(needle))

它将生成一个新字符串,其中format的参数将替换{}:

输出:

1+3c 查找此类内容的最佳位置无疑是Python文档

我个人会用谷歌搜索来搜索:

site:https://docs.python.org/ format
然后选择顶部链接,并对页面上的格式执行Ctrl+F组合键

使用此技术将使我们看到:

格式将替换每个{}

因此,这里的代码与以下代码相同:

str(start_pos) + '+' + str(len(needle)) + 'c'

它接受函数中的参数,并将它们插入字符串的花括号中

所以:'{}+{}c'.formatstart_pos,lenneedle

将两个变量start_pos和lenpineel添加到字符串中,替换花括号


{start_pos}+{lenneedle}

我来给你详细解释一下

您有一个字符串“{}+{}c”。 在Tkinter中,搜索单词时,通常会找到第一个字母和最后一个字母的位置。要找到单词最后一个字母的位置,您需要找到单词的长度,并将其添加到起始位置

例如,假设你有“你好”这个词。为简单起见,我们假设第一个字母“h”的位置为1.0

但我们还需要知道最后一个字母“o”的位置。 为此,我们获取“hello”的长度,即5个字符,并将其添加到起始位置,即1.0

1.0+5个字符0.5=1.5

现在我们知道最后一个字母的位置了。 但是我们怎么告诉特金特这个呢? 我们使用“+xc”,其中x是任意数字,c表示字符。 在“hello”的情况下,“hello”有5个字符长,因此我们会写“+5c”

在您的示例中,代码使用格式。格式是一种可以轻松使用字符串变量的方法。 您的代码获取start_pos、第一个字母的位置和单词的长度lenpine,并将其转换为格式

然后用start_pos替换“{}”的第一个实例,用lenneedle替换第二个实例。 这就像写入start_pos++'+'+lenneedle++'c'

第一个{}将被start_pos替换,第二个将被lenneedle替换。这和其他的用法一样。
str(start_pos) + '+' + str(len(needle)) + 'c'