IT일반

프로그래밍 | 파이썬 - 입출력(1) | print - 기본 출력, sep, end

블로그 하는 으노 2024. 10. 5. 15:42
반응형

본격적인 프로그래밍의 시작은 입출력으로부터 시작된다. 기본 출력 명령문인 print에 대해 살펴보자. 편의에 따라 vs code와 idle을 혼용하여 사용하겠다.

출력의 기본 | print(출력할 내용)

왼쪽이 작성된 코드이고, 오른쪽이 코드의 실행 결과이다.

-문자열은 따옴표로 출력한다.
-작은 따옴표로 시작한 문자열은 작은 따옴표로 닫고, 큰 따옴표로 시작한 문자열은 큰 따옴표로 닫아야 한다.
-한글 문자열도 출력할 수 있다.
-숫자나 수의 연산, 변수의 내용을 출력할 때는 따옴표 없이 출력한다.
-코드를 작성하는 과정에서의 줄바꿈은 프로그램 실행 결과에 영향을 미치지 않는다.(5번 줄이 공백이지만 실행결과에는 아무런 영향이 없다.)

 

연달아 출력하기 | print(출력할 내용1, 출력할 내용2, ...)

print로 여러 내용을 연달아 출력하는 경우 기본적으로 두 가지 방법이 있다.
1) 더하기(+) 연산자 활용하기 - 문자열과 문자열 끼리만 가능하다.
2) 콤마(,)로 나열하기 - 내용 사이에 공백이 포함된다.

1) 더하기(+) 연산자를 활용한 경우

더하기 연산자를 활용해 여러 가지 내용을 출력하려는 경우 문자열과 문자열에 대해서만 가능하다는 것을 기억하자. print('안녕하'+3)의 내용은 '문자열+숫자'로 연산이 불가하기 때문에 출력문이 실행되지 않는다. 마지막에 실행한 명령에서의 3은 따옴표 안에 작성되어 문자열 취급이 되었다. 따라서 문자열과 문자열의 연산이 수행되어 정상적으로 출력되었다.

숫자가 문자열로 취급된다는 것의 의미를 더 잘 이해해보자.

print 명령어 안의 계산식은 모두 5와 3의 덧셈 연산처럼 보인다. 하지만 첫 번째 명령어는 5와 3이 모두 숫자형 자료로 사용되어 덧셈 연산이 일어났고 5+3의 결과인 8이 출력되었다. 반면에 두 번째 명령어는 5와 3이 각각 따옴표 안에 입력되어 문자열로써 취급되고 있다. 문자열의 덧셈은 수의 덧셈과 달리 나열되는 형태로 출력되기 때문에 53을 출력하게 된다. 이때의 53도 숫자형 자료가 아닌 문자열의 형태인 것이다.

2) 콤마(,)로 나열한 경우

반면, 콤마로 나열하는 경우 문자열과 숫자를 병기해도 에러가 발생하지 않는다. 콤마를 사용할 때는 연산이 수행되는 것이 아니라, 각 항목을 나열하여 출력하는 행위가 되기 때문이다. 다만, 이때는 각 항목을 구분하는 공백이 포함되게 된다.

 

print의 옵션 sep, end

print 명령어에는 필요할 때 사용할 수 있는 네 가지 옵션이 있다. sep, end, file, flush가 그 옵션이다. sep과 end에 대해서 살펴보자.

1) 문자열 사이를 구분하는 구분자 sep | print(항목1, 항목2, ... , sep = '구분자')

sep은 seperate(나누다, 구분하다)의 약어인데, 이에 대한 파이썬의 설명은 'string inserted between values, default a space'라고 한다. 대충 번역하면 '자료 사이에 들어가는 문자열, 기본값은 공백'이라는 뜻이다. 여러 항목을 출력할 때 각 항목을 서로 구분할수 있도록 구분자 문자열을 추가하는 옵션이다. 구분자를 따로 지정하지 않는다면 공백으로 처리하게 된다. 전화번호 양식과 같이 출력할 내용에 일정한 패턴이 있다면 유용하게 활용할 수 있다.

 

2) 다음 출력문을 이어가기 위한 연결자 end | print(앞에 출력할 내용, end='연결자')

end는 다음 출력문과 내용을 연결하기 위한 연결자이다. 이에 대한 파이썬의 설명은 'string appendeㅇ after the last value, default a newline'이라고 한다. 대충 번역하면 '마지막 출력 값 이후에 추가되는 문자열, 기본값은 줄바꿈'이라고 되어있다. print문을 사용하면 마지막에 특별히 줄바꿈 이스케이프문을 수행하지 않아도 다음 출력문은 줄바꿈이 되는 것을 알 수 있는데, 이 end 옵션의 기본값 때문이다. 

왼쪽이 코드, 오른쪽이 실행 결과

특별히 줄바꿈에 대해 신경쓰지 않아도 print문의 실행이 완료되는 시점에 줄바꿈이 되는 것을 알 수 있다. 그러나 출력된 결과는 가독성이 떨어지므로 end 옵션을 활용하여 '이름 : 홍길동'과 같이 내용을 연결하여 출력해보자.

왼쪽이 코드, 오른쪽이 실행 결과

end 연산자를 이용하여 이름과 국적의 출력 이후 콜론(:)으로 연결되게 했다. 2번과 4번 줄의 경우엔 end 옵션을 사용하지 않았기 때문에 줄바꿈이 되는 것을 확인할 수 있다.

반응형