파이썬에서 이전 스타일의 문자열 형식화를 사용할 때, 즉 "" %(), 퍼센트 뒤에 오는 것이 튜플이면 파이썬은 그것을 분해하고 그 안의 개별 항목을 문자열로 전달하려고 합니다. 예를 들어,
tup = (1,2,3) print("this is a tuple %s" % (tup))
이것은 출력을 줄 것입니다:
TypeError: not all arguments converted during string formatting
이것은 위에서 언급한 이유 때문입니다. 튜플을 전달하려면 (tup, ) 구문을 사용하여 래핑 튜플을 생성해야 합니다. 예를 들어,
tup = (1,2,3) print("this is a tuple %s" % (tup, ))
이것은 출력을 줄 것입니다:
this is a tuple (1, 2, 3)
(tup,) 표기법은 단일 값 튜플을 표현식과 구별합니다.