Python中反引号字符的含义

Sam*_*her 7 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
Run Code Online (Sandbox Code Playgroud)

And*_*ark 10

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

irn = ''.join([repr(num) for num in range(loop_count)])
Run Code Online (Sandbox Code Playgroud)

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

irn = ''
for num in range(loop_count):
    irn += repr(num)
Run Code Online (Sandbox Code Playgroud)

请注意,我repr()在这里使用与反引号一致,但您通常会看到str(num)获取int的字符串表示(它们碰巧是等效的).

  • 他们何时/何时弃用? (3认同)
  • 我问,因为在2.6和2.7文档中没有提到它被弃用.在[_What's New In Python 3.0_](http://docs.python.org/3/whatsnew/3.0.html)的**Removed Syntax**部分中,它说"删除反引号"(使用`repr()`代替)",我想这可以被称为不赞成的终极行为...... (3认同)
  • 反引号是Python 3中的一个SyntaxError,不确定何时决定删除它们,但2.7是允许它们的最后一个Python版本. (2认同)