파이썬 표준입출력 문법 #17
안녕하세요.
오늘 같이 한번 공부할 내용은 파이썬의 표준입출력과 관계된 내용 입니다.
표준입출력에 대해서 잘 알아두면 파이썬에서 어떤 값을 출력을 할때 쉽게 원하는 형태로 출력을 변경 할 수 있습니다.
한번 빠르게 알아보도록 하겠습니다.
파이썬 표준 입출력 sep, end
sep 이라는 키워드를 이용해서 print문 안에 있는 인자들 사이에 특정한 구분 값을 줄 수 있습니다.
먼저 예제 코드를 보겠습니다.
# 표준입출력 sep
print("apple", "potato", "pear", sep = ",")
print("apple", "potato", "pear", sep = " and ")
print("apple", "potato", "pear", sep = " / ")
위 예제 코드의 결과는 아래와 같습니다.
sep 이라는 키워드 뒤에 입력된 각 구분자들로 print문 내부 인자들이 구분되어 출력 되는 것을 확인 할 수 있습니다.
다음은, end 키워드 입니다.
파이썬의 print문은 기본적으로 출력한 뒤 마지막에 줄바꿈을 합니다.
end 키워드는 print문 내부 출력을 끝나고 뒤에 붙일 문자를 지정하는것 입니다. 기본값이 줄바꿈이었으니, 줄바꿈이 되지 않는점을 유의 하셔야 합니다.
우선 첫번째 예제 코드를 보겠습니다.
# 표준입출력 sep, end
print("apple", "potato", "pear", sep = ",", end = " !!! ")
결과는 아래와 같습니다.
끝부분에 코드에서 정의한 바와 같이 !!! 가 붙어서 출력이 되었습니다.
다음 예제 코드 입니다.
# 표준입출력 sep, end
print("apple", "potato", "pear", sep = " / ", end = " and ")
print("banana", "mango", sep = " / ", end = " !!! ")
첫번째 print문에 end에 and 라는 문자가 정의되어 있죠. 두번째는 아까와 마찬가지로 !!! 가 있구요.
결과를 보겠습니다.
두개의 print문이 연달아 출력된 것을 확인 할 수 있습니다.
파이썬 표준 입출력 for loop 내 sep와 rjust, ljust 사용법
다음은 이 sep와 rjust 키워드를 for loop 안에서 사용하는 예제코드를 작성 해보겠습니다.
# for loop내 sep와 rjust, ljust
goals = {"2018년" : 9,"2019년" : 16,"2020년" : 20}
for year, goal in goals.items():
print(year, goal)
for year, goal in goals.items():
print(year.ljust(6), str(goal).rjust(3) + " 골 입니다.", sep = "의 총 득점은 : ")
sep에 관해서는 앞서 설명을 드렸고, rjust는 오른쪽 정렬을 이야기 합니다. rjust(3)이라는 의미는 3byte의 공간을 미리 선점하고 그 안에서 오른쪽 정렬을 하겠다는것 입니다. 이때, 숫자는 꼭 str 함수를 통해서 문자로 변경 해주셔야 합니다.
그리고 마찬가지로 ljust는 왼쪽 정렬 입니다. (,) 안 파라미터는 rjust와 같은 의미 입니다.
결과를 보겠습니다.
예제 코드와 출력 결과를 비교해 보시고, 코드내 변수를 변경하시면서 연습해보세요.
파이썬 표준 입출력 for loop 내 zfill 사용법
zfill 키워드에 대한 문법 예제 코드 입니다.
우선 예제 코드를 보실께요.
# for loop내 sep와 zfill
for seq in range(1, 20):
print("이번 순서는 " + str(seq).zfill(3) + " 입니다!")
zfill은 미리 선점한 공간에 남는칸이 있다면 0(zero)으로 채우겠다는 의미 입니다.
결과는 아래와 같습니다.
빈 공간을 0으로 채우면 잘 출력이 되었습니다.
파이썬 표준 입출력 심플한 사용법
위에서 rjust, ljust, zfill등의 키워드에 대해 안내해 드렸는데, 사실 간단한 기호만으로 쉽게 출력 포멧을 지정 할 수 있습니다.
우선, 미리 자리를 잡아두고 오른쪽 정렬을 하는 예제 코드를 보겠습니다.
# 총 5자리의 공간을 잡아두고 오른쪽 정렬하기
t_num = 12
print("{0: >5}".format(t_num))
아까처럼 rjust등을 쓰지 않고 > 기호를 썼습니다. 콜론(:) 뒤에 공백은 5자리를 잡고, 빈공간을 그냥 빈공간, 공백으로 두겠다는 의미 입니다. 물론 숫자 5는 5자리를 미리 선점해둔다는 의미 이구요.
결과를 보겠습니다.
잘 출력이 된것을 확인 할 수 있습니다.
이번에는 위 조건 그대로 두고, 양수면 +를 음수면 -를 숫자 앞에 표시해서 출력하도록 해보겠습니다.
예제 코드를 보실까요?
# 위 조건에서 양수(+), 음수(-) 표시하기
t_num1 = 12
t_num2 = -12
print("{0: >+5}".format(t_num1))
print("{0: >+5}".format(t_num2))
결과는 다음과 같습니다.
이번에는 정렬을 왼쪽 정렬로 변경하고, 미리 선점한 공간의 빈칸을 * 로 채우는 예제 코드 입니다.
예제 코드는 다음과 같습니다.
# 왼쪽 정렬로 변경하고, 빈칸에 * 찍기
for seq in range(1, 20):
print("{0:*<5}".format(seq))
for loop을 사용했습니다.
왼쪽 정렬은 < 이렇게 표현했고, 위에서 공백으로 두었던 콜론(:) 뒤 공간에 *를 입력했습니다.
결과는 다음과 같이 출력되었습니다.
숫자는 왼쪽 정렬이 되었고, 나머지 공간에 * 가 출력된것을 확인 할 수 있습니다.
파이썬 표준 입출력 금액 및 소숫점 지정 사용법
마지막으로 금액을 표시 할 때 세자리 마다 콤마(,)를 찍어서 출력 하도록 하는 방법 입니다.
예제 코드 입니다.
# 금액표시 (세자리마다 , 표시) 하기
price = 12345678
print("{0:,}".format(price))
콜론(:) 뒤에 , 를 찍어주기만 했죠.
매우 간단 합니다.
결과를 보겠습니다.
12345678 이란 숫자가 금액처럼 콤마(,) 가 찍혀서 출력 되었습니다.
이번엔 소숫점을 출력 하는 예제 코드 입니다.
# 소숫점 출력하기
print("{0:}".format(7/3))
print("{0:f}".format(7/3))
f 라고 콜론(:) 뒤에 찍으면 소숫점이 출력이 됩니다. 사실 따로 설정하지 않아도 소숫점은 출력이 됩니다만, 출력되는 자릿수가 다릅니다.
결과는 다음과 같습니다.
이젠, 이 소숫점을 3자리만 출력하고 싶을때는 어떻게 해야 할까요?
아래 예제 코드를 참고 하세요.
# 소숫점 자리지정 하여 출력하기
print("{0:.3f}".format(7/3))
f앞에 원하는 자릿수만큼의 숫자를 입력하시면 됩니다.
3이라고 입력을 하면, 소숫점 4자리에서 반올림하여 3자리까지 출력을 합니다.
출력은 다음과 같습니다.
자, 오늘 이렇게 파이썬 표준 입출력에 대해서 함께 공부했습니다.
조금이라도 도움이 되셨길 바랍니다.
감사합니다!!
by.sTricky
'python 기초강의' 카테고리의 다른 글
파이썬 pickle 기본 문법 #19 (0) | 2020.11.17 |
---|---|
파이썬 파일입출력 문법 #18 (0) | 2020.11.16 |
파이썬 지역변수와 전역변수 문법 #16 (2) | 2020.10.29 |
파이썬 가변인자 함수 문법 #15 (0) | 2020.10.20 |
파이썬 함수 기본값 문법 #14 (0) | 2020.10.20 |