我是Tkinter的新手,正在从事文本编辑器的工作。我想在代码中实现查找文本功能,最近遇到了我不太了解的一行代码。我想了解那行代码的作用。 这是代码行:
'{}+{}c'.format(start_pos, len(needle))
答案 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+F
做format()
。
使用这种技术将带我们到这里:https://docs.python.org/3/library/stdtypes.html#str.format
答案 1 :(得分:0)
格式将替换每个{}
。
因此,这里的代码与:
str(start_pos) + '+' + str(len(needle)) + 'c'
答案 2 :(得分:0)
它将参数放入函数中,并将其插入字符串的大括号中。
所以:'{}+{}c'.format(start_pos, len(needle))
将两个变量start_pos
和len(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'