2012-06-28 147 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。