자리 표시자를 % 형식으로 대체할 때 TypeError
% 형식을 사용하여 {0}과 같은 자리 표시자를 대체하려고 하면 개발자는 다음과 같은 문제를 겪을 수 있습니다. 오류: "TypeError: 문자열 형식화 중에 일부 인수가 변환되지 않았습니다." 이 오류는 부적절한 형식, 특히 이전 스타일 % 형식과 새로운 스타일의 {} 형식이 혼합되어 발생합니다.
이전 스타일 % 형식은 아래 예시와 같이 형식 지정에 %d와 같은 자리 표시자를 사용합니다. :
'It will cost $%d dollars.' % 95
그러나 여러 값을 활용하는 경우 튜플로 제공해야 합니다.
"'%s' is longer than '%s'" % (name1, name2)
반면, 새로운 스타일의 {} 형식 지정에서는 {} 및 .format 메서드와 같은 자리표시자를 사용합니다. 이 두 가지 스타일을 혼합하지 않는 것이 중요합니다. 템플릿 문자열에 {} 자리 표시자가 포함된 경우 %.
# Correct: 'It will cost ${0} dollars.'.format(95) "'{0}' is longer than '{1}'".format(name1, name2) # Incorrect (Do not mix % and {}): 'It will cost ${0} dollars.' % 95 "'%0' is longer than '%1'" % (name1, name2)
이 형식 지정 지침을 준수하면 개발자는 "TypeError: 문자열 형식 지정 중에 일부 인수가 변환되지 않았습니다." 오류 및 형식을 해결할 수 있습니다. 문자열이 올바르게 입력되었습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3