将整数转换为字符串的Pythonic方法

4
>>> foo = 1
>>> type(foo)
<type 'int'>
>>> type(str(foo))
<type 'str'>
>>> type(`foo`)
<type 'str'>

哪种方法更符合Python语言规范将整数转换为字符串?我一直在使用第一种方法,但现在我发现第二种方法更易读。有什么实际区别吗?
1个回答

12

使用反引号进行字符串转换 是调用 repr() 来表示一个值的简写符号。对于整数而言,str()repr() 的输出结果恰好相同,但它们并不是同一操作:

>>> example = 'bar'
>>> str(example)
'bar'
>>> repr(example)
"'bar'"
>>> `example`
"'bar'"

反引号语法在Python 3中已被移除; 我不建议使用它,因为明确的str()repr()调用更清晰地表达了意图。

请注意,您有更多选项将整数转换为字符串; 您可以使用str.format()旧样式字符串格式化操作来将整数插入到较大的字符串中:

>>> print 'Hello world! The answer is, as always, {}'.format(42)
Hello world! The answer is, as always, 42

比起使用字符串拼接,这种方法更加强大。

感谢“调用repr()的速记符号表示法”这一部分。每天都能学到新东西,真是太好了。 - Ayrx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接