1) 콤마(,)를 이용한 출력
2) % 형식지정자를 이용한 출력
%형식지정자는 ex) %d, %s, %f
문자열 포매팅 연산자 : %
1), 2) 관한 소스
name=input('이름: ')
print('입력하신 이름은', name) # 콤마를 이용한 출력
print('입력하신 이름은 %s' % name) # %형식지정자를 이용한 출력
print('입력하신 이름은 %s' , name) #
# print('입력하신 이름은 %s' name) : 이건 오류
결과)
이름: 홍길동
입력하신 이름은 홍길동
입력하신 이름은 홍길동
입력하신 이름은 %s 홍길동
질문)
a=input('입력할 숫자: ')
print('입력하신 숫자 %d' % a) 에서 a 앞에 나오는 %는 정식명칭이 무엇인가요?
%는 문자열 포매팅 연산자(string formatting operator)입니다.
파이썬에서
라고 쓰면,
- %d → 정수(decimal) 형식 지정자(format specifier)
- % → 문자열에 변수를 **대입(포맷)**해 주는 포매팅 연산자
즉, "문자열 % 값" 구조에서 %는 "여기 있는 형식 지정자 자리에 값을 넣어라"라는 의미를 가지는 연산자입니다.
💡 참고로 a가 input()에서 온 값은 문자열이므로,
처럼 변환해야 %d가 오류 없이 동작합니다.
추가 설명)
%는 여기서 문자열 포매팅 연산자라고 부릅니다.
정식으로는 보통 이렇게 표현합니다:
- 퍼센트(%) 포매팅 연산자
- 문자열 포매팅 연산자 (%)
- 영어: string formatting operator 또는 modulo operator for strings
왜 "연산자"라고 부르나?
원래 %는 숫자끼리 쓰면 나머지 연산자입니다.
그런데 문자열에 쓰면 %는 "형식 문자열 안의 %기호를 변수 값으로 채워 넣는" 역할을 합니다.
즉,
- 숫자끼리 → 나머지 연산자
- 문자열에 → 문자열 포매팅 연산자
추가설명)
파이썬에서 %형식 지정자는 %d, %s, %f 등을 의미합니다. 🐍 이것들은 **문자열 포맷팅(String Formatting)**에 사용되며, 문자열 내의 특정 위치에 변수의 값을 삽입하는 역할을 합니다.
주요 형식 지정자
- %s (String): 문자열(string)을 삽입할 때 사용합니다. 어떤 타입의 변수라도 문자열로 변환하여 삽입할 수 있습니다.
- 예시: print("이름: %s" % "홍길동") → 이름: 홍길동
- %d (Decimal Integer): 10진수 정수(decimal integer)를 삽입할 때 사용합니다. 소수점이 없는 정수형 숫자에 적용됩니다.
- 예시: print("나이: %d살" % 30) → 나이: 30살
- %f (Floating-point): 부동소수점(floating-point) 숫자를 삽입할 때 사용합니다. 소수점 아래 숫자를 표현하는 데 쓰입니다. %.2f와 같이 사용하여 소수점 자릿수를 지정할 수 있습니다.
- 예시: print("원주율: %f" % 3.141592) → 원주율: 3.141592
- 자릿수 지정 예시: print("원주율: %.2f" % 3.141592) → 원주율: 3.14
% 연산자를 이용한 포맷팅
이러한 형식 지정자들은 % 연산자와 함께 사용됩니다.
문자열 내에 %s, %d 등을 넣고, 문자열 뒤에 %를 쓴 다음 괄호 () 안에 삽입할 변수들을 순서대로 나열하는 방식입니다.
예시: greeting = "안녕하세요, %s님. 올해 %d살이시죠?" % ("김철수", 25)
- greeting 변수는 "안녕하세요, 김철수님. 올해 25살이시죠?"라는 문자열을 가지게 됩니다.
💡 참고: % 형식 지정자는 예전부터 사용되던 방식이며, 파이썬 3.6부터는 f-string(f'...')이나 str.format() 메서드 같은 더 현대적이고 편리한 포맷팅 방식이 주로 사용됩니다. 하지만 여전히 많은 레거시 코드에서 찾아볼 수 있어 알아두면 유용합니다.
설명)
name =input('이름 입력: ')
print('입력하신 이름은 %s' % name) 에서
%형식지정자에 대응되는 변수가 한 개인 경우네는 괄호를 생갹할 수 있다.
변수가 두 개 이상일 경우에는 문자열과 변수를 구분하는 % 기호의 오른쪽에 괄호로 묶어 변수들을 작성해야 합니다.
예)
a=int(input('첫 번째 숫자 입력: '))
b=int(input('두 번째 숫자 입력: '))
print('%d + %d = %d' % (a, b, a+b)) --> 괄호를 꼭 작성해야한다.
% (a, b, a+b) --> 괄호를 꼭 작성해야 한다.
괄호를 생략하면 에러가 납니다.
%를 빼도 에러
문자열 : %d + %d = %d
변수 : (a, b, a+b)
%기호 : 문자열과 변수들을 연결해주는 역할을 한다
3) format() 함수를 이용한 출력
소스)
a=int(input('첫 번째 숫자 입력: '))
b=int(input('두 번째 숫자 입력: '))
print('{0} * {1} = {2}' .format(a,b,a*b))
결과)
첫 번째 숫자 입력: 4
두 번째 숫자 입력: 5
4 * 5 = 20
설명)
format() 함수를 이용하여 출력하는 형태는 내용과 중괄호 { } 를 원하는 순서대로 따옴표 안에 작성합니다.
중괄호에 대응되는 변수는 점(.) 작성 후 format() 함수 안에 순서대로 작성합니다.
중괄호 안의 번호는 대응되는 변수의 순서로써 인덱스라고 부르며, 0부터 시작합니다.
1부터 넣으면 에러가 납니다.
4) f-string 함수를 이용한 출력
f-string 포매팅은 파이썬 3.6 버전부터 제공되기 시작했습니다.
문자열 맨 앞에 f를 붙여주고, 중괄호 안에 변수명이나 출력하고 싶은 자료를 직접 작성하면 됩니다.
형식) print( f'문자열 {변수} 문자열')
소스)
menu='과자'
count=5
print(f'{menu}를 좋아해요, 하루에 {count}개 먹어요.')
결과)
과자를 좋아해요, 하루에 5개 먹어요.
'파이썬(Python)' 카테고리의 다른 글
| 파이썬 list()함수란? (1) | 2025.08.12 |
|---|---|
| 파이썬, 리스트 자료형에 대해 정리 (1) | 2025.08.12 |
| 파이썬에서 다중할당(multiple assignment)에 대해 정리 (1) | 2025.08.12 |
| 파이썬의 버젼별 차이점 정리 (중요) (5) | 2025.08.12 |
| 파이썬 / 문제 / 이름, 연락처 입력 처리 (2) | 2025.08.10 |
콘텐츠 내 자동삽입광고
