파이썬 인강으로 독학중인 펀조조입니다.
지난 시간까지는 파이썬 프로그래밍 Print 문법 활용 중 format 을 공부했는데요.
오늘은 format 에서 %s, %d, %f 이용한 함수를 이용해서
11가지의 실습을 해 보겠습니다.
실습한 파이썬 파일은 따로 링크를 걸어 올려두었으니
필요하신 분은 다운로드 하시면 됩니다. (밑에 있습니다)
아톰을 키고, 아래 있는 내용대로 그대로~ 따라해보세요!
묻지도 따지지도 말고 그냥 해봅시다!
Just do it!
#format (*d, s, f 를 알아두세요!!)
- d : 정수 (ex. 3,4,5,)
- S : 문자 (ex. 'python')
- f : 실수 (ex. 3.144545...)
실습 #1. %s 문자를 이용한 출력
>> Print('%10s' % ('love'))
: 위 수식에서 10은 총 자릿수를 의미합니다.
s는 문자가 오는것을 의미하죠.
즉, 총 10개의 자리를 확보하고
'love' 라는 텍스트가 4글자니까
총 10개의 자릿수 중에 'love'(4칸)를 출력하고
왼쪽부터 남은 여섯칸이 공백으로 처리가 되었습니다.
실습 #2.
>> Print('%10s' % ('happy'))
: 10자리를 확보하고 나머지는 왼쪽부터 공백으로 채워서 시작한다.
>> Print('{:>10}' .format ('happy'))
: 왼쪽이라고 기호를 표시해주고 10자리를 확보해주고 Happy 로 포맷을 해준다.
실습 #3. %s
>> Print('%10s' % ('happyland'))
: 문자를 happy(5글자)에서 happyland(9글자) 로 늘려볼게요.
>> Print('{:>10}'.format ('happy')) : 이건 그대로 유지
위와 같은 결과값이 나옵니다.
10자리 글자에 공백을 맞출 수 있도록 자동 세팅됩니다.
happyland 앞에는 스페이스 한 칸의 공백이 생겼고
happy 앞에는 다섯칸의 공백이 생깁니다.
실습 #4. 공백을 오른쪽에 주고 싶을 때
1) Print('%-10s' % ('happy'))
: 마이너스 기호를 넣어주고
2) Print('{:10}' .format ('happy'))
: 부등호(>) 기호를 없애줍니다.
결과값은?
설명 1) 음수가 왔을때는 나머지 공백 부분을 오른쪽부터 채우고, 양수가 왔을때는 왼쪽부터 공백을 채웁니다. 공백으로 채운 뒤 그 나머지를 우리가 입력한 텍스트로 채우는 겁니다.
설명 2) 반대로 왼쪽 기호(>)일때는 왼쪽에 공백, 부등호 기호 생략하면 오른쪽에 공백을 두는 것!
실습 #5. 공백 대신 다른 문자로 채우기
>> Print('{:_>10}'.format ('happy'))
: >왼쪽에 언더바(_)를 붙여봅니다.
>> Print('{:$>10}' .format ('happy'))
: >왼쪽에 달러($)를 붙여붑니다.
결과값
실습 #6. 중앙정렬 하는 방법 ^ 추가
>> Print('{:^10}' .format ('happy'))
: 10개의 자릴수를 맞추고 happy를 중앙 가운데 정렬 시킨다
실습 #7. 쩜 붙이기 = 절삭
Print('%.8s' % ('happyland')) : 8자리 공간 확보후 절삭
Print('%.5s' % ('happyland')) : 5자리 공간 확보후 절삭
Print('%.3s' % ('happyland')) : 3자리 공간 확보 후 절삭
.을 붙이면 절삭을 합니다.
수학으로 따지면 반올림, 절삭되는 것과 같습니다.
s가 문자기 때문에 반올림 개념은 아니고 내가 원하는 자릿수만큼
왼쪽부터 n글자만 딱 출력이 되고 멈춥니다.
아래 결과값을 참고하면 이해가 잘 될거에요.
실습 #8. format 함수 활용
- N자리까지 문자 절삭 후 공백 확보
print('{:10.5}' .format ('minionslove'))
: 10자리의 자리를 확보하고 왼쪽에서 5자리까지 글자만 나오고 나머지 글자는 절삭한다. (나머지 5자리 공백)
print('{:10.9}' .format ('minionslove'))
: 10자리의 자리를 확보하고 왼쪽에서 9자리까지 절삭한다. (1자리 공백)
1
실습 #9. %d 활용 (d: 정수)
print('%d %d' % (1,2))
print('{} {}' .format(1,2))
2개의 정수를 출력합니다.
실습 #9-1. %d 응용
>> print('%4d' % (42))
>> print('{:4d}' .format(42))
: 4자리를 확보하고 d(정수) 를 넣는다
실습 #10. %f (f:실수)
1) print('%f' % (3.14143242225))
2) print('%1.8f'%(3.143434343434))
: 쩜 앞에는 정수부, 쩜 뒤에는 소수부 제어
앞에 부분은 정수 한자리고 나머지는 소수부인데 이것도 따로 지정할 수 있습니다.
쩜 앞에 정수부는 한 자리만 나오고 점 뒤에 나오는 소수부는 8자리까지 나와라 하면?
3)
>> print('%f' % (3.14143242225))