본문 바로가기

python 기초강의

파이썬 표준입출력 문법 #17

파이썬 표준입출력 문법 #17

파이썬 표준입출력 문법 #17

 

 

안녕하세요.
오늘 같이 한번 공부할 내용은 파이썬의 표준입출력과 관계된 내용 입니다.
표준입출력에 대해서 잘 알아두면 파이썬에서 어떤 값을 출력을 할때 쉽게 원하는 형태로 출력을 변경 할 수 있습니다.

한번 빠르게 알아보도록 하겠습니다.

 

파이썬 표준 입출력 sep, end

sep 이라는 키워드를 이용해서 print문 안에 있는 인자들 사이에 특정한 구분 값을 줄 수 있습니다.

먼저 예제 코드를 보겠습니다.

# 표준입출력 sep
print("apple", "potato", "pear", sep = ",")
print("apple", "potato", "pear", sep = " and ")
print("apple", "potato", "pear", sep = " / ")

위 예제 코드의 결과는 아래와 같습니다.

파이썬 표준 입출력 sep, end 1

sep 이라는 키워드 뒤에 입력된 각 구분자들로 print문 내부 인자들이 구분되어 출력 되는 것을 확인 할 수 있습니다.

 

다음은, end 키워드 입니다.

파이썬의 print문은 기본적으로 출력한 뒤 마지막에 줄바꿈을 합니다.

end 키워드는 print문 내부 출력을 끝나고 뒤에 붙일 문자를 지정하는것 입니다. 기본값이 줄바꿈이었으니, 줄바꿈이 되지 않는점을 유의 하셔야 합니다.

 

우선 첫번째 예제 코드를 보겠습니다.

# 표준입출력 sep, end
print("apple", "potato", "pear", sep = ",", end = " !!! ")

결과는 아래와 같습니다.

파이썬 표준 입출력 sep, end 2

끝부분에 코드에서 정의한 바와 같이 !!! 가 붙어서 출력이 되었습니다.

다음 예제 코드 입니다.

# 표준입출력 sep, end
print("apple", "potato", "pear", sep = " / ", end = " and ")
print("banana", "mango", sep = " / ", end = " !!! ")

첫번째 print문에 end에 and 라는 문자가 정의되어 있죠. 두번째는 아까와 마찬가지로 !!! 가 있구요.

결과를 보겠습니다.

파이썬 표준 입출력 sep, end 3

두개의 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 내 sep와 rjust, ljust 사용법 1

예제 코드와 출력 결과를 비교해 보시고, 코드내 변수를 변경하시면서 연습해보세요.

 

파이썬 표준 입출력 for loop 내 zfill 사용법

zfill 키워드에 대한 문법 예제 코드 입니다.

우선 예제 코드를 보실께요.

# for loop내 sep와 zfill
for seq in range(1, 20):
    print("이번 순서는 " + str(seq).zfill(3) + " 입니다!")

zfill은 미리 선점한 공간에 남는칸이 있다면 0(zero)으로 채우겠다는 의미 입니다.

결과는 아래와 같습니다.

파이썬 표준 입출력 for loop 내 zfill 사용법 1

빈 공간을 0으로 채우면 잘 출력이 되었습니다.

 

 

 

파이썬 표준 입출력 심플한 사용법

위에서 rjust, ljust, zfill등의 키워드에 대해 안내해 드렸는데, 사실 간단한 기호만으로 쉽게 출력 포멧을 지정 할 수 있습니다.

우선, 미리 자리를 잡아두고 오른쪽 정렬을 하는 예제 코드를 보겠습니다.

# 총 5자리의 공간을 잡아두고 오른쪽 정렬하기
t_num = 12
print("{0: >5}".format(t_num))

아까처럼 rjust등을 쓰지 않고 > 기호를 썼습니다. 콜론(:) 뒤에 공백은 5자리를 잡고, 빈공간을 그냥 빈공간, 공백으로 두겠다는 의미 입니다. 물론 숫자 5는 5자리를 미리 선점해둔다는 의미 이구요.

결과를 보겠습니다.

파이썬 표준 입출력 심플한 사용법1

잘 출력이 된것을 확인 할 수 있습니다.

 

이번에는 위 조건 그대로 두고, 양수면 +를 음수면 -를 숫자 앞에 표시해서 출력하도록 해보겠습니다.

예제 코드를 보실까요?

# 위 조건에서 양수(+), 음수(-) 표시하기
t_num1 = 12
t_num2 = -12
print("{0: >+5}".format(t_num1))
print("{0: >+5}".format(t_num2))

결과는 다음과 같습니다.

파이썬 표준 입출력 심플한 사용법2

이번에는 정렬을 왼쪽 정렬로 변경하고, 미리 선점한 공간의 빈칸을 * 로 채우는 예제 코드 입니다.

예제 코드는 다음과 같습니다.

# 왼쪽 정렬로 변경하고, 빈칸에 * 찍기
for seq in range(1, 20):
    print("{0:*<5}".format(seq))

for loop을 사용했습니다.

왼쪽 정렬은 < 이렇게 표현했고, 위에서 공백으로 두었던 콜론(:) 뒤 공간에 *를 입력했습니다.

결과는 다음과 같이 출력되었습니다.

파이썬 표준 입출력 심플한 사용법3

숫자는 왼쪽 정렬이 되었고, 나머지 공간에 * 가 출력된것을 확인 할 수 있습니다.

 

파이썬 표준 입출력 금액 및 소숫점 지정 사용법

마지막으로 금액을 표시 할 때 세자리 마다 콤마(,)를 찍어서 출력 하도록 하는 방법 입니다.

예제 코드 입니다.

# 금액표시 (세자리마다 , 표시) 하기
price = 12345678
print("{0:,}".format(price))

콜론(:) 뒤에 , 를 찍어주기만 했죠.

매우 간단 합니다.

결과를 보겠습니다.

파이썬 표준 입출력 금액 및 소숫점 지정 사용법1

12345678 이란 숫자가 금액처럼 콤마(,) 가 찍혀서 출력 되었습니다.

 

이번엔 소숫점을 출력 하는 예제 코드 입니다.

# 소숫점 출력하기
print("{0:}".format(7/3))
print("{0:f}".format(7/3))

f 라고 콜론(:) 뒤에 찍으면 소숫점이 출력이 됩니다. 사실 따로 설정하지 않아도 소숫점은 출력이 됩니다만, 출력되는 자릿수가 다릅니다.

결과는 다음과 같습니다.

파이썬 표준 입출력 금액 및 소숫점 지정 사용법2

이젠, 이 소숫점을 3자리만 출력하고 싶을때는 어떻게 해야 할까요?

아래 예제 코드를 참고 하세요.

 

 

 

# 소숫점 자리지정 하여 출력하기
print("{0:.3f}".format(7/3))

f앞에 원하는 자릿수만큼의 숫자를 입력하시면 됩니다.

3이라고 입력을 하면, 소숫점 4자리에서 반올림하여 3자리까지 출력을 합니다.

출력은 다음과 같습니다.

파이썬 표준 입출력 금액 및 소숫점 지정 사용법3

자, 오늘 이렇게 파이썬 표준 입출력에 대해서 함께 공부했습니다.

조금이라도 도움이 되셨길 바랍니다.

 

감사합니다!!

 

 

 

 

by.sTricky