我有以下类:
根据 文档,
我认为这与以下情况相同:
class A(object):
def __unicode__(self):
return u'A'
def __str__(self):
return 'AA'
>>> u"{}".format(A())
u'A'
>>> "{}".format(A())
'AA'
>>> str(A())
'AA'
根据 文档,
为什么这个表达式返回的值仍然是 'A' 而不是 'AA' 呢?"Harold's a clever {0!s}" # 首先调用 str() 函数对参数进行转换
>>> u"{0!s}".format(A())
u'A'
我认为这与以下情况相同:
>>> u"{}".format(str(A()))
u'AA'
__str__
和__unicode__
返回字符串,否则你的程序将会失败。 - thefourtheyeprint
。 - James Lin