Lang/Python

[ 기본문법 ] 파이썬 기초부터 다시~!(4) - 포매팅(formating)

quantumee 2024. 2. 15. 10:54

 

알고리즘 문제를 풀다가 문득 포메팅을 어떻게 했었는 지 까먹었다는 걸 깨달았다... 하...

 

그래서 오늘 푼 문제에 나온 포메팅과 반복문에 관한 복습을 하려한다... (  어떻게 이걸 까먹냐.... )


 

포매팅 (formating)

: 문자열의 출력 양식을 조정하는 것

 

1. 포매팅 종류 3가지

=> 파이썬에서 문자열 포매팅의 종류는 크게 3가지가 있다. 하지만 3가지중에 무엇을 쓰든 결과는 같기 때문에 이중에 한가지만 숙지하고 사용하면 된다. 각 종류마다 장단점이 있지만 대체로 자주 쓰이는 방법이 있기 때문에 추천하는 방법은 진하게 표시해서 구분하겠다.

 

 

1) %Operator  ( C언어 방식 - classic )

: 변수 자리에 '%자료형'을 써서 치환하는 방식

 

- 양식

    ㄴ> ' 문자열 ~~ %자료형 ~~~ ' %(변수명1,변수명2, ... , ) 

 

- 사용법

  • %c : 문자 데이터 ( charater )
  • %s : 문자열데이터 ( String ) 
  • %d : 정수 데이터 ( decimal )
  • %f : 실수 데이터 ( float )

- 예시

name = "Segno"
age = 27
print("안녕하세요. %s라고 하고 나이는 %d 입니다."%(name,age))

=> 예시처럼 %Operator는 직관적이지 않아 가독성이 굉장히 떨어진다. 그래서 최근에는 거의 사용되지 않는 방법!

 


2) str.format  ( python3.0버전 이상↑ )

: format() 메서드를 사용해서 변수를 index에 기반하여 치환하는 방식

 

- 양식

    ㄴ> ' 문자열 ~~ {인덱스} ~~~ ' .format(변수명1,변수명2)

 

- 예시

name = "Segno"
age = 27
print("안녕하세요. {0}라고 하고 나이는 {1}입니다.".format(name,age))

#아래 처럼 인덱스는 생략해도 상관없다.
#print("안녕하세요. {}라고 하고 나이는 {}입니다.".format(name,age))

=> str.format()은 데이터타입을 고려하지 않기 때문에 %Operator보다는 가독성이 좋고 보다 python스러운 방법이긴 하지만 변수가 많아지면 가독성이 떨어지게 된다는 문제가 있다.

 


3) f-string ( python3.6버전 이상 ) <추천!!>

: 문자열 앞에 f를 붙이고 변수를 중괄호로 감싸서 출력

 

- 예시

name = "Segno"
age = 27
print(f"안녕하세요. {name}라고 하고 나이는 {age}입니다.")

=> 변수를 원하는 위치에 직접 적어 가독성이 매우 좋고 출력속도도 다른 포매팅방식보다 빨라서 가장 많이 쓰고 추천하는 방식이다.

 

 

 


 

다음은 이어서 반복문에 대한 정리를 하겠다.