繁体   English   中英

__unicode__的Python字符串格式字符?

[英]Python string format character for __unicode__?

首先,有一个吗?

如果没有,是否有强制执行类似操作的好方法

print '%s' % obj

调用obj.__unicode__而不是obj.__str__吗?

只需使用unicode格式的字符串,而不要在该角色中使用字节字符串:

>>> class X(object):
...   def __str__(self): return 'str'
...   def __unicode__(self): return u'unicode'
... 
>>> x = X()
>>> print u'%s' % x
unicode

不。事实并非如此。

print (u"%s" % obj).encode(some_encoding)将使用obj.__unicode__

首先,有一个吗?

当然(有点)。 unicode格式的字符串会将格式值转换为unicode,这意味着将调用obj.__unicode__ unicode obj.__unicode__引用 )。

u'this is a %s' % ('unicode string')

除了上述内容外,没有什么特别的原因不能使您明确:

print '%s' % (unicode(obj))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM