[ 기본문법 ] 파이썬 기초부터 다시~!(4) - 포매팅(formating)
알고리즘 문제를 풀다가 문득 포메팅을 어떻게 했었는 지 까먹었다는 걸 깨달았다... 하...
그래서 오늘 푼 문제에 나온 포메팅과 반복문에 관한 복습을 하려한다... ( 어떻게 이걸 까먹냐.... )
포매팅 (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}입니다.")
=> 변수를 원하는 위치에 직접 적어 가독성이 매우 좋고 출력속도도 다른 포매팅방식보다 빨라서 가장 많이 쓰고 추천하는 방식이다.
다음은 이어서 반복문에 대한 정리를 하겠다.