Nhiều câu trả lời được đưa ra ở trên là chính xác. Cách đúng để làm điều đó là:
>>> thetuple = (1, 2, 3)
>>> print "this is a tuple: %s" % (thetuple,)
this is a tuple: (1, 2, 3)
Tuy nhiên, đã có tranh chấp nếu nhà cung cấp chuỗi '%'
lỗi thời. Như nhiều người đã chỉ ra, nó chắc chắn không lỗi thời, vì toán tử String '%'
dễ kết hợp một câu lệnh String với một dữ liệu danh sách.
Ví dụ:
>>> tup = (1,2,3)
>>> print "First: %d, Second: %d, Third: %d" % tup
First: 1, Second: 2, Third: 3
Tuy nhiên, bằng cách sử dụng .format()
chức năng, bạn sẽ kết thúc với một tuyên bố dài dòng.
Ví dụ:
>>> 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
Hơn nữa, '%'
chuỗi nhà điều hành cũng rất hữu ích đối với chúng tôi để xác nhận kiểu dữ liệu như %s
, %d
, %i
, trong khi .format() only support two conversion flags: '!s'
và '!r'
.
Tôi nghĩ rằng đây là tao nhã hơn (và có thể đọc được) so với một tuple ôm. –
Tôi ngạc nhiên câu trả lời này đã không chú ý nhiều hơn – Chris