【问题标题】:Difference between variable and print variable [duplicate]变量和打印变量之间的区别[重复]
【发布时间】:2016-03-22 10:34:18
【问题描述】:

我有以下代码(假设我正在逐行输入 IDLE)

# -*- coding: utf-8 -*-
s = u"My Currency is - £"
s
print s

for - s - 我得到一个输出 - u'My Currency is - \xa3'

for - print s - 我得到一个输出 - u'My Currency is - £'

有什么区别?为什么我得到不同的输出?

【问题讨论】:

    标签: python


    【解决方案1】:

    在 Python 中,print 在其参数上显示__str__ 的结果,这可能与__repr__ 不同。更多信息,请看这里:Difference between __str__ and __repr__ in Python

    【讨论】:

    • 不完全是,尝试显式调用str(s)s.__str__(),你会得到UnicodeEncodeError: 'ascii' codec can't encode characters...,但print 工作正常,所以print 可以做更多的事情。
    【解决方案2】:

    这是因为之间的差异

    __str__

    __repr__.

    diff. str and repr

    【讨论】:

      猜你喜欢
      • 2013-12-27
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 1970-01-01
      相关资源
      最近更新 更多