프로그래밍 공부

[Python] 파이썬 기본문법3 문자열의 기초3

Seashark 2018. 6. 14. 10:00

오늘은 문자열에 관한 내용중 포맷코드에 대해 알아보도록 하겠습니다.

포켓코드는 C를 다뤄본 사람들이라면 익숙한 문법입니다.

포멧코드는 기본적으로 문자열 사이에 변수를 넣어두는 형식으로 변수는 그때그때 값에따라 보여지는것이 달라집니다.

일단 코드부터 보시겠습니다.

string3.py 코드

1~4행은 세가지 포멧코드 초기화 입니다.
strS --> 문자형 (string) 포멧
strD --> 정수형 포멧
strF --> 부동소수형 포멧
4행은 나중에 몇가지 테스트를 위한 3.131592로 초기화한 변수입니다.

8행부터 11행까지는 문자형 포멧코드 사용예시입니다.
print(strS%'String1') 이 문장은
print('This format is s %s' %'String1')과 같은 뜻을 가지고 있는데요... 기본적으로 포멧코드인 %s가 변수, 그리고 %뒤에 있는 문자열이 변수에 들어갈 값이라고 생각하시면 됩니다.
문자열형인 %s의 특징은 모든 타입을 다 수용할 수 있다는 점입니다. 나중에 보시게될 %d, %f같은 경우는 각자의 정확한 형이 아니면 에러를 일으킵니다.

%d포켓코드에 문자열 형태를 썼을때 나오는 에러

하지만 기본적으로 모든 포멧코드는 대입시 문자열의 형태로 변환되어 대입이 되기 때문에 아무런 에러를 일으키지 않습니다.

14행부터 17행까지는 정수형 포멧을 사용한 예시들입니다. 확인해볼 점은 정수형에 부동소수형을 집어넣었을때 정수로 바꿔서 출력된다는 점입니다.

21행부터 23행은 부동소수형의 결과값으로 별 차이점이 없습니다.


마지막으로 공백과 정렬에 관한 포멧코드의 사용법입니다.
%와 형 사이에 숫자를 집어 넣음으로 (%10s) 10칸에 대입하고 나머지칸을 비워놓기 + 쓰임세에 따라 왼쪽 혹은 오른쪽으로 정렬을 시키는 기법입니다.

%10s --> 10칸을 오른쪽으로 정렬
%-10s --> 10칸을 왼쪽으로 정렬..
이런 의미를 가지고있습니다. 결과값으로 확인하시면 10칸중 5개의 문자만 나오지만 오른쪽 혹은 왼쪽에 정렬되어있는 모습을 확인하실 수 있습니다.

마지막으로 포멧형을 표로 정리해드리고 마치겠습니다. 다음 포스트는 마지막으로 문자열의 슬라이싱으로 마무리 해보도록 하겠습니다.

코드
설명
%s
문자열
%c
한글자
%d
정수(10진)
%f
부동소수
%o
8진수
%x
16진수





반응형