Wiele odpowiedzi udzielonych powyżej było poprawnych. Właściwy sposób to:
>>> thetuple = (1, 2, 3)
>>> print "this is a tuple: %s" % (thetuple,)
this is a tuple: (1, 2, 3)
Jednak spór dotyczył tego, czy '%'
operator ciągu znaków jest przestarzały. Jak wielu zauważyło, zdecydowanie nie jest przestarzały, ponieważ '%'
operator String łatwiej jest połączyć instrukcję String z danymi listy.
Przykład:
>>> tup = (1,2,3)
>>> print "First: %d, Second: %d, Third: %d" % tup
First: 1, Second: 2, Third: 3
Jednak używając tej .format()
funkcji, otrzymasz pełną instrukcję.
Przykład:
>>> 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
Co więcej, '%'
operator również przydatny dla nas, aby potwierdzić typ danych, takich jak łańcuch %s
, %d
, %i
, podczas gdy .format () obsługuje tylko dwie flagi konwersji : '!s'
a '!r'
.
print(....)
.