Python中反引号字符的含义

时间:2012-12-12 20:29:56

标签: python

我刚刚开始使用python。有人可以解释以下代码片段的第2行吗?我不明白`num`位。我尝试用一​​个勾选'替换反引号字符,但随后它就破了。只需对该行进行详细解释即可。

loop_count = 1000000
irn = ''.join([`num` for num in range(loop_count)])
number = int(irn[1]) * int(irn[10]) * int(irn[100]) * int(irn[1000]) * int(irn[10000]) * int(irn[100000]) * int(irn[1000000])
print number

2 个答案:

答案 0 :(得分:10)

反引号是repr()内置函数的弃用别名,因此第二行等效于以下内容:

irn = ''.join([repr(num) for num in range(loop_count)])

这使用列表推导来创建表示数字的字符串列表,然后使用''.join()将该字符串列表组合成单个字符串,因此这等同于以下内容:

irn = ''
for num in range(loop_count):
    irn += repr(num)

请注意,我在这里使用repr()与反引号一致,但是您通常会看到str(num)来获取int的字符串表示(它们恰好相同)。

答案 1 :(得分:2)

  1. for num in range(loop_count)遍历从零开始到排除1,000,000
  2. 的所有数字 反引号中的
  3. num使用repr()函数将每个数字转换为字符串。
  4. ''.join(...)将所有这些字符串合并为一个,而它们之间没有任何分隔符。
  5. irn = ...将结果存储在irn