20

After running this small program:

#!/usr/bin/env python2.7
# -*-coding:utf-8 -*
a = 1
b = 2
c = 3
title = u"""a=""" + a + u""", b=""" + str(b) + \
    u""", c=""" + str(c)
print(title)

I get the following error:

u""", c=""" + str(c)
TypeError: coercing to Unicode: need string or buffer, int found

But the following runs just fine!

#!/usr/bin/env python2.7
# -*-coding:utf-8 -*
a = 1
b = 2
c = 3
title = u""", b=""" + str(b) + \
    u""", c=""" + str(c)
print(title)

Can somebody please explain me what is going on?

4

1 回答 1

41

You didn't wrap a in a str call. You need to do str(a) where you have a, just like you did for b and c.

于 2012-06-09T04:56:15.163 回答