“ {} + {}”的含义

时间:2019-08-09 13:15:38

标签: python tkinter

我是Tkinter的新手,正在从事文本编辑器的工作。我想在代码中实现查找文本功能,最近遇到了我不太了解的一行代码。我想了解那行代码的作用。 这是代码行:

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

4 个答案:

答案 0 :(得分:1)

它将创建一个新字符串,其中将format()的参数放在{}的位置:

start_pos = 1
needle = [1, 2, 3]

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

输出:

     
1+3c

查找此类内容的最佳位置肯定是Python文档。

我将使用Google搜索亲自搜索:

site:https://docs.python.org/ format

然后选择顶部链接,并在页面上为Ctrl+Fformat()

使用这种技术将带我们到这里:https://docs.python.org/3/library/stdtypes.html#str.format

答案 1 :(得分:0)

格式将替换每个{}

因此,这里的代码与:

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

答案 2 :(得分:0)

请参见String.format()

它将参数放入函数中,并将其插入字符串的大括号中。

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

将两个变量start_poslen(needle)添加到替换大括号的字符串中。

{start_pos}+{len(needle)}

答案 3 :(得分:0)

我为您分解。

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

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

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

1.0 + 5个字符(0.5)= 1.5

因此,我们现在知道最后一个字母的位置。 但是我们如何告诉Tkinter? 好吧,我们使用'+ x c',其中 x 是任意数字,而 c 表示字符。 对于“ hello”,“ hello”的长度为5个字符,因此我们将其写为“ + 5c”

在您的示例中,代码使用format()。格式是一种易于使用字符串的变量的方法。 您的代码采用 start_pos ,第一个字母的位置以及单词的长度len(needle),并将其传递给format()。

然后,该示例将<{}'的第一个实例替换为 start_pos ,并将第二个实例替换为 len(needle)。 这就像写start_pos + '+' + len(needle) + 'c'