2012-06-28 192 views
0

我經歷了djangobook和的例子之一作者寫道的:類型轉換爲unicode字符串?

def __unicode__(self): 
     return u'%s %s' % (self.first_name, self.last_name) 

是否「U」在前面「%s%S」把字符串轉換成Unicode的?

回答

3

它不完全將字符串「轉」爲unicode,它表示一個unicode字符串。引述documentation

在Python源代碼,統一文字被寫爲「U」形或「U」字 ... 理想前綴字符串 ,你會希望能寫文字用你的語言的自然編碼。然後你可以用你最喜歡的編輯器編輯Python源代碼,它自然會顯示 重音字符,並且在運行時使用 。

1

%運營商將使用新建字符串給定字符串作爲格式。由於您使用了領先的u,因此此字符串將爲Unicode。在插入新字符串之前,每個%s都會導致將參數轉換爲Unicode。