Многие ответы, приведенные выше, были правильными. Правильный способ сделать это:
>>> thetuple = (1, 2, 3)
>>> print "this is a tuple: %s" % (thetuple,)
this is a tuple: (1, 2, 3)
Однако возник спор, если оператор '%'
String устарел. Как уже отмечали многие, он определенно не устарел, так как оператор '%'
String легче комбинировать оператор String с данными списка.
Пример:
>>> tup = (1,2,3)
>>> print "First: %d, Second: %d, Third: %d" % tup
First: 1, Second: 2, Third: 3
Однако, используя функцию .format()
, вы получите подробный оператор.
Пример:
>>> tup = (1,2,3)
>>> print "First: %d, Second: %d, Third: %d" % tup
>>> print 'First: {}, Second: {}, Third: {}'.format(1,2,3)
>>> print 'First: {0[0]}, Second: {0[1]}, Third: {0[2]}'.format(tup)
First: 1, Second: 2, Third: 3
First: 1, Second: 2, Third: 3
First: 1, Second: 2, Third: 3
Более того, строковый оператор '%'
также полезен для проверки типа данных, таких как %s
, %d
, %i
, тогда как .format () поддерживает только два флага преобразования : '!s'
и '!r'
.