[패스트캠퍼스 환급챌린지]딥러닝/Chapter 3. 파이썬

[패스트캠퍼스][환급 챌린지]Chapter 3. 딥러닝을 위한 파이썬 03-03 파이썬 기본 입출력

포리셔 2023. 3. 21. 13:25

03-03 파이썬 기본 입출력

파이썬을 비롯한 모든 프로그래밍 언어는 기본적으로 입출력 함수를 가지고 있습니다. 우리가 어떤 연산을 했다고 하면, 이 연산 결과는 아직 컴퓨터만 가지고 있고, 사용자가 그걸 확인할 수는 없습니다. 출력 명령을 내리지 않았기 때문이죠.

인질

그래서 연산 결과를 우리가 확인해야 한다면 출력 함수를 필히 따로 써줘야 합니다.
반대로, 계산기 프로그램을 만든다고 했을 때, 우리가 원하는 수를 매번 코드에 변수 값을 바꿔가면서 연산하는 건 불편하겠죠. 따라서 이미 GUI까지 완성된 프로그램에 입력하기 위해서는 이러한 데이터 입력을 받아주는 함수도 필요합니다.

파이썬의 입출력 방식

파이썬의 입출력 방식은 크게 두 가지로 구분됩니다.

  1. 표준 입출력 (a.k.a 기본 입출력)
  • 프로그램이 기본적으로 사용하는 입력 장치(키보드)와 출력 장치(모니터)를 통해 컴퓨터와 대화를 주고 받는 방식입니다. 일반적으로 컴퓨터 프로그램을 작성할 때 사용하는 방식입니다.
  1. 파일 입출력
  • 하드 디스크에 파일 형태로 데이터를 저장하거나 읽는 방식으로, 프로그램이 꺼진 뒤에도 그 데이터는 저장됩니다. 게임 저장이 이에 해당됩니다.

print() 함수

print() 함수는 원하는 값 또는 문자열을 출력할 수 있게 해주는 함수입니다. 괄호 안에 원하는 값, 문자열을 입력하는 것이 가장 기본적인 사용법이며, 여러 개의 값을 출력할 때는 쉼표(,)를 이용해 입력하면 공백(스페이스 바)을 기준으로 구분해 출력 가능합니다.

data = "Hello world"
print(data)
print("Hello Python!")
print("Welcome to the Deep Learning World!")

값이나 문자열 외에도 괄호 안에 넣을 수 있는 변수들이 있습니다. 이를 파이썬에서는 키워드 변수(keyword)라고 부르는데, 자세한 설명은 여기서는 하지 않겠습니다. print() 함수에서 사용가능한 키워드 변수 중에는 endsep이 있습니다.

  • end: 문자열의 뒤에 붙이는 문자. 기본값은 \n, 즉 새 줄(enter)입니다.
  • sep: 문자열을 구분할 때 사용하는 문자. 기본값은 ' ', 즉 공백입니다.
data1 = 7
data2 = 5
data3 = 8
print(data1, data2, data3)
print(data1, data2, data3, sep=', ')
print(data1, data2, data3, end="[END]")

f-string을 이용할 경우

파이썬 3.6 이상의 버전을 사용하신다면 f-string이라는 방법을 사용할 수 있습니다. 정식 명칭은 'f 문자열 포매팅'이지만 f-string을 주로 사용합니다. 이 방법은 문자열 안에 어떤 값이나 변수를 삽입하는 방법 중의 하나로, 자신이 원하는 변수를 문자열의 일부로 만들어주는 방법입니다.

혹시나 3.6보다 이전 버전의 파이썬을 사용하시는 분들은 이 기능을 파이썬에서 지원하지 않습니다. 반드시 3.6 이상 버전의 파이썬에서 실행해보세요.

사용방법은 문자열 앞에 소문자 f를 붙여서 f-string을 사용할 것이라고 선언해 준 후, 원하는 변수가 들어갈 위치에 중괄호 {}와 함께 입력하고자 하는 변수의 이름을 넣어줍니다. 아래 예시는 score라는 변수를 문자열에 추가해주는 과정입니다.

score = 70
print(f"학생의 점수는 {score}점입니다.")

input() 함수

출력을 알아봤으니 이번에는 입력을 담당하는 함수 차례입니다. input() 함수는 키보드로 문자열을 입력받는 함수입니다. 괄호 안이 비어 있으면, 오로지 키보드로 입력한 문자열만을 입력받고, 괄호 안에 다른 문자열이 있을 경우에는 해당 문자열을 출력한 후에 키보드로부터 문자열을 입력받습니다.

# '123'을 입력하는 예제
data = input()
print(data)

'123'을 입력.
입력 후 출력 결과.

name = input("당신의 이름은? ")
print("입력된 값:", name)

age = int(input("당신의 나이는? "))
print("당신의 나이:", age)
print("15년 뒤 당신의 나이:", age + 15)

다만, 위 사진과 같이 숫자를 입력하더라도 실제로 이 함수가 돌려주는 값은 문자열 취급을 받습니다. 이를 정수로 바꿔주기 위해서는 추가로 int() 또는 float() 함수를 이용할 필요가 있습니다. 문자열, 수 등의 자료형은 다음 포스트부터 다룰 예정입니다.

30일차 후기

오늘로서 30일간의 환급 챌린지는 마무리되었습니다. 하지만 파이썬 정리는 이제 시작이라는 거.... 환급 챌린지와는 무관하게 제가 공부하는 내용은 지금과 크게 다르지 않은 방식으로 계속 업로드할 예정입니다. 습관의 힘이 이렇게 강합니다

http://bit.ly/3Y34pE0

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

* 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.