首页 > 解决方案 > 请解释python中'%'的用法

问题描述

我正在学习 python 中的多线程,我正在阅读这个答案。我理解大部分代码但是有这一行我根本不明白,我不知道如何在谷歌上搜索它,因为'%'符号不断返回模数。

req.headers['Range'] = 'bytes=%s-%s' % (start, start+chunk_size)

我认为 req.headers['Range'] 会从数组中检索一些 'range' 元素,但是在这里他们为它分配了一个值 'bytes=%s-%s' % (start, start+chunk_size)。我真的只是不明白这一行发生了什么。我假设像 'bytes=%s-%s' 这样的东西是我不知道的某种 python 语法。如果您能解释这一行中的每个术语,将不胜感激。

标签: pythonsyntax

解决方案


在python中有多种格式化字符串的方法。在字符串内部使用%s,然后%在字符串之后使用一个元组(或单个值),允许您创建一个新字符串:

x = 5
y = 8
'my favourite number is %s, but I hate the number %s' % (x, y)

结果是:

'my favourite number is 5, but I hate the number 8'

我认为他们称之为 C 型字符串格式。有关更多信息,您可以查看此页面

在我看来,使用 f'strings 或.format(). 也看看这个页面


推荐阅读