해결된 질문
작성
·
23
0
1. 아래 두 줄의 출력값이 동일한데 무슨 차이인지 모르겠습니다.
print('{:10f}'.format(3.141592))
print('{:10}'.format(3.141592))
2. 문자는 부등호를 생략하면 왼쪽으로 몰리는 반면, 정수의 경우는 >를 사용하나 생략하나 둘 다 오른쪽으로 몰려서 출력되는 이유가 궁금합니다.
print('{:4d}'.format(42))
print('{:10}'.format('nice'))
감사합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 불꽃남자님.
두 가지 질문에 대한 간단한 설명을 드리겠습니다.
format
함수의 사용 차이:
'{:10f}'.format(3.141592)
: 여기서 10f
는 ‘소수점 포함 총 10자리로 소수를 포맷하라’는 의미입니다. 소수점 이하 기본 6자리가 표시됩니다.'{:10}'.format(3.141592)
: 여기서 10
은 넓이 10의 공간을 고려한 출력입니다. 기본적으로 소수점 이하 숫자는 조정되지 않고 전체 숫자가 10칸을 차지하도록 정렬됩니다.문자와 숫자의 정렬 차이:
format
함수에서 부등호(<
, >
등)의 사용을 생략한 경우, 숫자는 기본적으로 오른쪽 정렬이 됩니다. 이는 일반적인 숫자 출력의 관례 때문이며, 문자는 기본적으로 왼쪽 정렬이 됩니다.'{:4d}'.format(42)
: 정수가 오른쪽으로 정렬되고 총 4칸을 사용합니다.'{:10}'.format('nice')
: 문자열이 기본적으로 왼쪽 정렬되며, 총 10칸을 사용하되 나머지는 빈 공간으로 남습니다.이러한 포맷팅 방식은 데이터의 취급 방식이기 때문에 의도적으로 정렬을 변경하실 때만 >
또는 <
을 명시적으로 사용하시면 됩니다.
아래 유사한 질문과 답변들을 참고하시면 더 도움이 될 것 같습니다:
- “파이썬 String Formatting에 대한 질문”
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.