콘텐츠 내 자동삽입광고

광고1

posted by 초코생크림빵 2025. 8. 12. 15:27
반응형

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)입니다.

파이썬에서

python
 
print('입력하신 숫자 %d' % a)

라고 쓰면,

  • %d → 정수(decimal) 형식 지정자(format specifier)
  • % → 문자열에 변수를 **대입(포맷)**해 주는 포매팅 연산자

즉, "문자열 % 값" 구조에서 %는 "여기 있는 형식 지정자 자리에 값을 넣어라"라는 의미를 가지는 연산자입니다.

💡 참고로 a가 input()에서 온 값은 문자열이므로,

python
 
a = int(input('입력할 숫자: '))

처럼 변환해야 %d가 오류 없이 동작합니다.

 

추가 설명)

%는 여기서 문자열 포매팅 연산자라고 부릅니다.

정식으로는 보통 이렇게 표현합니다:

  • 퍼센트(%) 포매팅 연산자
  • 문자열 포매팅 연산자 (%)
  • 영어: string formatting operator 또는 modulo operator for strings

왜 "연산자"라고 부르나?

원래 %는 숫자끼리 쓰면 나머지 연산자입니다.

python
 
7 % 3 # 결과: 1

그런데 문자열에 쓰면 %는 "형식 문자열 안의 %기호를 변수 값으로 채워 넣는" 역할을 합니다.

python
 
name = "홍길동" print("입력하신 이름은 %s" % name) # %s → 문자열 자리 # % name → 그 자리에 name 값을 넣기

즉,

  • 숫자끼리 → 나머지 연산자
  • 문자열에 → 문자열 포매팅 연산자

 

추가설명)

파이썬에서 %형식 지정자는 %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개 먹어요.

반응형

콘텐츠 내 자동삽입광고