我經歷了djangobook和的例子之一作者寫道的:類型轉換爲unicode字符串?
def __unicode__(self):
return u'%s %s' % (self.first_name, self.last_name)
是否「U」在前面「%s%S」把字符串轉換成Unicode的?
我經歷了djangobook和的例子之一作者寫道的:類型轉換爲unicode字符串?
def __unicode__(self):
return u'%s %s' % (self.first_name, self.last_name)
是否「U」在前面「%s%S」把字符串轉換成Unicode的?
它不完全將字符串「轉」爲unicode,它表示一個unicode字符串。引述documentation
在Python源代碼,統一文字被寫爲「U」形或「U」字 ... 理想前綴字符串 ,你會希望能寫文字用你的語言的自然編碼。然後你可以用你最喜歡的編輯器編輯Python源代碼,它自然會顯示 重音字符,並且在運行時使用 。
是的,那u
前綴表示該字符串是Unicode。有一兩件事要知道 - 你應該聲明的源代碼的編碼讓Python知道如何處理字符串:
http://docs.python.org/howto/unicode.html#unicode-literals-in-python-source-code
的%
運營商將使用新建字符串給定字符串作爲格式。由於您使用了領先的u
,因此此字符串將爲Unicode。在插入新字符串之前,每個%s
都會導致將參數轉換爲Unicode。