python-使用逗号打印unicode

python-使用逗号打印unicode,python,Python,有人能解释为什么会这样吗 for name in session.query(Device.manufacturer_name): print name 导致 (u'Apple',) (u'Samsung',) (u'Sony',) (u'HTC',) 但是这个,我认为是完全一样的 for device in session.query(Device):         print device.manufacturer_name 给出不同的结果 Apple Samsung Son

有人能解释为什么会这样吗

for name in session.query(Device.manufacturer_name):
    print name
导致

(u'Apple',)
(u'Samsung',)
(u'Sony',)
(u'HTC',)
但是这个,我认为是完全一样的

for device in session.query(Device):
        print device.manufacturer_name
给出不同的结果

Apple
Samsung
Sony
HTC

您需要一个特定的列,结果是以行的形式出现的。每行是一个只有1个值的元组

只需编制索引即可获得该值:

for row in session.query(Device.manufacturer_name):
    print row[0]
也可以使用元组分配:

for name, in session.query(Device.manufacturer_name):
    print name
注意目标列表的
中的逗号;Python现在将每个元组解压到一个目标名称的“列表”中。

它们是元组(很可能),您可以这样解压它们:

for name, in session.query(Device.manufacturer_name):
    print name
那些是元组。