簡體   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