Today
Total
Recent Posts
Link
반응형
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
관리 메뉴

아임'준

[파이썬 기초] 파이썬의 표준 입출력 본문

[Python]/[Python : 개념]

[파이썬 기초] 파이썬의 표준 입출력

아임'준 2021. 2. 26. 00:07
반응형

파이썬 / Python / 표준입출력 / print / input / format

 

*해당 글에 있는 코드들은 모두 복사해서 사용할 수 있게끔 만들어두었습니다. 주석만 보고 이해하려고 하지 말고 코드를 복사해서 직접 실행하며 그 결과를 통해 이해하고자 하면 더 도움이 될것입니다. 물론 그냥 복사 붙여넣기 하는 것보다 본인이 직접 코드를 타이핑하는 것이 이해와 후에 사용할 때에 더 큰 도움이 될 것이니 이 점 명심하고 공부해주시기 바랍니다

 

오늘은 파이썬에서 입력과 출력을 어떻게 받는지 알아보고 연산자에 대해서도 간단히 알아보도록 하겠다. 

 

두번째 파이썬 포스팅을 시작하기에 앞서 먼저 짚고 넘어가고 싶은 부분이 있다.

 

파이썬은 정말 훌륭한 프로그래밍 언어이다. 우리가 편하도록 만들어진 내장 함수들이 정말정말 많이 존재한다. 그렇기에 이런 내장 함수들이나 여러 기능들을 하나하나 모두 다루기에는 무리가 있다. 각 내장함수들에도 굳이 사용하지 않아도 되는 여러가지 추가 옵션들도 많기에  우리가 가장 중요시 해야할 것은 검색이다. 예를 들어 우리가 파이썬에서 출력하는 방법을 검색한다고 했을 때 우리는 Python print 와 같은 방식으로 검색할 수 있을 것이다. 내가 추천하는 방식은 당신이 이 포스팅을 보며 무언가 모르거나 혹시 이런 기능이 있을까? 할 때 검색을 통해 해결할 수 있을 것이라는 소리이다.

docs.python.org/ko/3/library/

 

파이썬 표준 라이브러리 — Python 3.9.2rc1 문서

파이썬 표준 라이브러리 파이썬 언어 레퍼런스 는 파이썬 언어의 정확한 문법과 의미를 설명하고 있지만, 이 라이브러리 레퍼런스 설명서는 파이썬과 함께 배포되는 표준 라이브러리를 설명합

docs.python.org

위 사이트는 파이썬 언어 사용 설명서 라고 생각하면 된다. 하지만 위 내용을 가지고 공부하는 사람은 아무도 없다. 사전에서 모르는 단어가 있으면 그때 찾아보듯이 여러분도 모르는 기능이나 알고 싶은 기능이 있다면 저기서 검색을 해보면 된다. 지금 당장은 이해 못하겠지만 여러분이 만약에 list라는 자료형을 값에 따라 오름차순으로 정렬하고 싶다고 느꼈을 때 여러분은 구글에 Python list sort와 같은 방식으로 검색하거나 위 사이트에서 list를 설명하는 부분에서 이를 정렬하는 방법을 쉽게 찾을 수 있을 것이다. 물론 내가 많이 쓰이고 기본적인 내용에 대해서는 분명히 다루려고 노력할 것이나 실력이 더 나아지기 위해서는 검색을 할 수 있어야 한다. 이는 파이썬 뿐만 아니라 다른 프로그래밍 언어들도 모두 포함될 것이라고 생각한다. 그럼 이제 파이썬 기초 두번째 포스팅을 시작하겠다.

 

파이썬에서 출력을 하는 방법은 쉽다.

출력을 위해 사용하는 함수는 print이다.

 

print함수는 기본적으로 출력이 끝난 후 줄바꿈을 해준다. 

Hello를 출력하기 위해서는 아래와 같이 

print("Hello")

를 입력하면 된다.

 

또 아래와 같이 a라는 변수에 10이라는 값과 b라는 변수에 "Hi"라는 값이 저장돼 있을 경우 다음과 같이 출력할 수 있다.

a = 10
b = "Hi"

print(a)
print(b)

위 출력 결과는

10
Hi

이렇게 출력될 것이다.

 

그렇다면 한번에 여러개를 출력하고 싶을 때는 어떻게 해야할까?

이번에는 아래와 같이 코드를 짠 후 실행을 해 출력을 해보자

a = 10
b = "Hi"

print(a, b)
print(str(a) + b)

첫번째 print문의 경우 ,로 구분이 되어있다. 두번째 print문은 기존 int형인 a를 str형으로 형 변환을 시켜준 것이다.

위의 경우 출력은

10 Hi
10Hi

위와 같이 결과가 나올 것이다.

이를 통해 알 수 있는 것은 ,를 통해 구분할 경우 공백을 사이에 두고 출력이 되며 어떠한 자료형들 간에도 위와 같은 방식이 사용 가능하다는 것을 알 수 있다. 그와 다르게 +를 통해 구분할 경우 str형 변수는 +로 출력이 함께 가능하며 공백 없이 이어진다는 것을 알 수 있다.

 

이는 +가 a와 b를 이어주는 연산자의 역할을 했기 때문이라고 보는 것이 맞다. 연산자에 대해서는 다음 시간에 알아보기로 하고 다시 출력에 대한 얘기로 돌아와보자.

 

그럼 우리는 이제 일반 단어와 변수를 같이 쓸 때에 ,로 모든 것을 분리하여 적어야 하는지 혹시 그렇다면 공백이 계속 나타나는지에 대해 불편함을 느끼고 걱정할 수 있으나 이를 해결할 수 있다.

 

우리가 만든 변수와 그냥 출력하고 싶은 단어들을 같이 출력할 때 이를 해결할 수 있는 방법들이 있다.

그 방법들은 다음과 같다.

a = 185
b = "Hi"

print(f"{b} June I'm {a}")
print("{} June I'm {}".format(b, a))
print("{1} June I'm {0}".format(a, b))

a에 185라는 정수 b에 Hi라는 문자가 입력돼있다.

세 출력문 모두 출력 결과는 다음으로 동일하다.

Hi June I'm 185

첫번째 출력문은 " 큰 따옴표 앞에 f라는 글자를 붙인 후 내가 변수를 출력하기 원하는 자리에 {중괄호}를 통해 해당 변수명을 적어놓았다.

이렇게 함을 통해 내가 출력하고 싶은 자리에 변수의 내용을 출력하고 그 외에 내가 적고 싶은 단어들인 June I'm 등을 더 추가하여 적을 수 있었다. 내 개인적으로는 이 방법이 가장 편하고 알아보기 쉽다고 생각하며 이를 주로 사용한다.

 

두번째 출력문과 세번째 출력문은 사실상 같은 방법이나 순서를 지정할 수 있다는 것을 보여주기 위해 두개를 적었다.

변수가 적히길 원하는 위치에 {중괄호}로 표시해놓고 "가 닫히는 지점에 .format()이라는 것을 더 적어주었다. 그리고 .format()의 괄호 안에는 변수들을 적어놓았는데 이 변수들은 앞에서부터 순서대로 0, 1, 2... 등 정수 값을 부여받게 된다. 앞서 중괄호 안에 별도로 숫자를 표기하지 않았을 경우 0부터 순서대로 해당 중괄호 위치에 변수들이 들어가며 중괄호에 숫자를 적었을 경우 변수들에 부여된 숫자에 맞게 해당 위치에서 변수가 출력된다.

 

그렇기에 두번쨰 출력문에서는 b,a 순서로 format 안에 적어놓아 Hi, 185 순서로 변수가 출력되었으나, 세번쨰 출력문의 경우 변수 a가 부여받은 번호인 0은 I'm 뒤에 있고 ({0}으로 표시된 부분) 1은 맨 앞에 있으므로 자신의 자리를 찾아간 것이다.

 

이런 식으로 우리는 우리가 원하는 형태에 맞게 출력을 할 수 있다.

 

print 함수에는 더 나아가 몇몇 속성들이 존재한다. ,로 구분된 부분을 공백이 아닌 다른 문자로 바꿔줄 수 있는 sep 속성이나 끝나는 부분을 개행문자(줄바꿈 문자)가 아닌 다른 것으로 바꿔줄 수 있는 end 등 여러 속성이 존재하나 이들은 굳이 설명하지 않겠다. 혹시 이런 부분에 대해서 더 알고 싶은 사람은 위에 언급했듯이 찾아볼 수 있을 것이다. 당신은 내장 함수인 print문이 궁금하므로 내장 함수에서 print 함수를 찾을 수 있을 것이다.

print 함수를 찾은 후 이를 클릭하면 여러분은 궁금해했던 기능들을 더 자세히 알 수 있을 것이다.

위와 같이 내가 언급한 sep과 end에 대한 정보를 얻을 수 있다.

 

 

잠깐 공부하며 어떤 것을 찾아보는 방법에 대해서 이야기를 하였다. 각설하고 이제 파이썬에서 입력받는 방법에 대해서 알아보도록 하겠다.

위에 나왔던 이 사진에서 입력을 받는 함수가 무엇인지 찾아볼 수 있다.

 

입력은 input() 함수를 통해 받을 수 있다.

예를 들어 a라는 변수에 입력받은 것을 저장하고 싶을 때는 아래와 같이 작성할 수 있다.

a = input()

여기서 input의 () 안에 들어가는 인자는 a에 입력받을 때 출력할 것을 적어놓으면 된다. 예를 들어 처음에는 나이를 입력받고 두번쨰에는 키를 입력받고 싶을 때 아래와 같이 적어놓으면

age = input("나이가 몇이에요?")
height = input("키가 몇이에요?")

 

아래와 같은 출력 결과를 볼 수 있다. (22와 185는 타자로 입력한 값)

나이가 몇이에요?22
키가 몇이에요?185

주의해야하는 것은 input() 함수를 통해 받은 입력값은 모두 string 타입으로 저장된다.

 

string 타입이기에 만약 정수를 입력받고 싶다면 int형으로 변환을 해줘야한다. 

어떤 타입의 데이터를 다른 타입으로 변환하고 싶을 때는 아래와 같이 해주면 된다.

변환하고 싶은 타입(변환하고 싶은 데이터)

ex) a = int("36")
b = int(input("정수를 입력해주세요"))

이들 모두 변환을 해주는 함수이기에 인자에 변환하고 싶은 데이터를 집어넣어야 한다.

함수와 인자에 대해서는 나중에 제대로 설명하겠지만 지금은 함수는 어떤 특정한 일을 하는 도구이고 인자는 그 함수에 넣는 것이라고 생각하면 된다. 위의 경우 int는 함수이고 (소괄호) 안에 들어가는 것은 인자이다.

 

이제 출력과 입력하는 방법을 알게되었다.

 

입력받을 때 여러개를 띄어쓰기해서 받는 등의 상황이 있을 수 있는데 이는 다음에 리스트, 튜플, 딕셔너리를 설명할 때 다뤄보도록 하겠다.

 

다음 시간에는 리스트, 튜플, 딕셔너리를 공부해보도록 하겠다.

질문, 오타 지적, 오류 지적 등은 댓글로 환영합니다.

 

Comments