Python으로 프로그래밍 시작하기

타키탸키·2020년 12월 27일
1

컴퓨터 개론

목록 보기
1/9
post-thumbnail

컴퓨터는 프로그래밍으로 구현된 세상입니다. 컴퓨터를 잘 알기 위해서는 프로그래밍에 대해 배우는 것이 중요합니다. Python은 여러 프로그래밍 언어 중 문법이 간단해서 입문자에게 추천되는 언어입니다. 오늘은 Python 언어를 사용할 수 있는 프로그램과 간단한 코딩, 그리고 자료형, 변수, 함수와 같은 개념을 배워봅시다!

🌎 Tools for Python

Python을 사용하기 위해 두 가지 도구가 필요합니다. 우리가 작성할 Python 코드를 컴퓨터의 언어인 Machine Code로 번역해주는 Python Interpreter와 Python에서 코딩을 할 때 사용하는 프로그램을 올인원으로 제공해주는 Pycharm입니다.

Pycharm과 같은 프로그램을 통합 개발 환경(IDE, Integrated Development Environment)라고 부릅니다. IDE에서는 효율적으로 소프트웨어를 개발하기 위해 코드 편집기, 디버거, 컴파일러 등을 포함하고 있습니다. 우리가 문서를 작성할 때 사용하는 MS Word를 떠올려 보면 이해하기 쉬울 것 같습니다 😊😊😊

Python Interpreter는 Google에서 Python을 검색하여 공식 홈페이지에 접속한 다음 다운로드 항목에서 사용하는 OS에 맞게 설치할 수 있습니다. Pycharm도 마찬가지로 구글링하여 공식 홈페이지에서 다운로드할 수 있습니다.

Pycharm에서 프로젝트를 생성하면 Python 코드를 작성할 수 있습니다. '.py'는 Python의 확장자입니다. 화면 우측은 코드를 입력하는 에디터 창이고 화면 아래는 코드가 실행되는 콘솔 창입니다.

코드를 실행하는 방법은 파일 이름에 마우스 오른쪽 버튼을 눌러 RUN버튼을 클릭하거나 윈도우의 경우 'Ctrl + Shift + f10', 의 경우 'Ctrl + R'을 누르면 단축키가 실행됩니다. 마지막으로 콘솔창 좌측 재생버튼을 클릭해도 실행이 가능합니다.

🌎 Comment 사용하기

Python은 문장 앞에 '#'을 추가하여 코멘트를 작성할 수 있습니다. 한국어로는 주석이라고도 합니다. 코멘트는 코드를 작성할 때 자주 사용됩니다. 프로그램이 실행될 때는 # 뒤의 내용을 무시하고 진행됩니다. 코멘트가 필요한 이유는 무엇일까요?

코멘트는 쉽게 말해 메모입니다. 주로 복잡한 코드를 설명하거나 코드를 작성하던 중 미완성된 부분을 표시하기 위해 사용됩니다. 코멘트의 가장 중요한 역할은 다른 개발자들과 소통하기 위한 표시를 남겨두는 것입니다. 코멘트는 길고 복잡한 코드를 사용할 때 가장 필요한 항목입니다.

🌎 자료형

컴퓨터는 복잡한 계산기라고도 불립니다. 이때, 프로그래밍이란 계산할 수식들을 컴퓨터에게 알려주는 것을 말합니다. 우리가 흔히 사용하는 계산기는 숫자만을 사용하지만 컴퓨터는 문자형, 정수형과 같은 다양한 자료형(Data Type)을 사용합니다.

첫 번째 자료형은 숫자입니다. 숫자는 두 가지로 분류됩니다. 하나는 음수, 0, 양수를 포함하는 정수(Integer), 다른 하나는 우리가 익히 알고 있는 소수점으로 표현되는 숫자인 소수(Floating Point)입니다. 일반적인 계산기는 정수 2와 소수 2.0를 같은 수로 취급하지만 Python에서는 다르게 인식합니다.

두 번째 자료형은 문자열입니다. 문자열은 키보드로 쓸 수 있는 글자들을 표현하는데 ""로 구분합니다. "Hello"나 "2" 모두 문자열의 예시입니다. 정수 2와 소수 2.0이 다르듯 "2"도 다른 값으로 인식됩니다. 예컨대 2+5는 7을 출력하지만 "2"+"5"는 두 값을 나란히 합친 "25"가 출력됩니다.

마지막으로 참과 거짓을 나타내는 자료형 불린(Boolean)이 있습니다. 불린은 주로 두 값을 비교할 때 사용됩니다. 예를 들어 '6 > 3'이라는 식에 대해 True를 반환하고 '3 > 6'이라는 식에는 False를 반환합니다.

이외에도 더 많은 자료형이 존재하지만 오늘은 여기까지만 소개 드리겠습니다 :)

🌎 추상화

우리가 사용하는 스마트폰에는 하드웨어, 소프트웨어, 통신 등 다양한 기술들이 담겨 있습니다. 우리는 이러한 기능에 대해 자세히 알지 못해도 스마트폰을 사용할 수 있습니다. 이처럼 복잡한 내용은 숨기고 주요 기능에만 중점을 두는 것을 추상화(Abstraction)라고 합니다. 프로그래밍의 추상화에는 변수, 함수, 객체라는 세 가지 개념이 있습니다.

변수(Variable)값을 저장하는 것을 말합니다. 방정식을 배울 때, x와 y로 변수 설정을 했던 것을 기억하시나요? x=45와 같이 변수를 지정하면 변수명만 알아도 변수에 저장된 값을 사용할 수 있습니다.

함수(Function)은 엑셀을 사용해보신 분이라면 조금 더 친숙한 개념일 수 있습니다. 함수는 명령을 저장하는 것을 말합니다. Python의 아주 기본적인 함수 print는 괄호 안에 있는 값을 콘솔에 출력해주는 명령을 수행합니다.

print("Hello World!")

Hello World!

앞으로 Python을 사용하면서 print 함수를 여러 번 사용할 것입니다. 그러나 이 print 함수가 어떻게 구성되어 있는지 잘 알지는 못합니다. 그럼에도 우리는 print 함수를 사용할 수 있습니다. 이것이 추상화의 장점이자 목적입니다.

🌎 변수

앞서 변수의 개념에 대해 배웠습니다. 그렇다면 변수가 필요한 이유는 무엇일까요? 변수를 사용하면 어떤 장점이 있을까요?

상품의 가격을 사용해서 계산식을 만들어내는 업무를 맡았다고 가정해 봅시다. 만약 변수를 사용하지 않는다면 상품에 대한 고정값 예를 들어, 아메리카노가 1000원이라면 1000이라는 숫자를 가지고 계산을 하게 될 것입니다.

문제는 1000이라는 숫자로 모든 계산식을 만들어 놨는데 갑자기 상사가 프로모션 목적으로 아메리카노 가격의 변동 요청을 하면 어떻게 될까요? 일일히 아메리카노의 가격이 적힌 부분을 찾아 하나씩 수정을 해야할 것입니다.

이러한 일을 방지하기 위해 Python에서는 계산식을 적기 전 변수 선언을 합니다. 알맞은 변수명을 지정하고 그 안에 값을 넣어주는 것이죠.

Americano = 1000
Latte = 1500
Cookie = 800

Print(Americano * 2 + cookie)

이렇게 변수를 사용하면 중간에 아메리카노 가격이 변경되더라도 최초의 선언문에서만 값을 수정하면 되기 때문에 일이 무척 간단해집니다. 또한, 계산식마다 일일히 값을 적을 일이 없어 잘못된 값을 넣을 일도 없겠죠.

🌎 함수

이번엔 함수에 대해 더 자세히 배워봅시다. print와 같은 함수는 개발자들이 프로그램을 만들 때, 미리 제작해둔 내장 함수입니다. 내장 함수 외에도 우리가 스스로 만들 수 있는 함수가 있습니다.

def hello():
	print("Hello!")
    	print("Welcome :)")

def새로운 함수를 정의할 때 사용하고 hello는 함수의 이름이 됩니다. 함수 이름 뒤에는 값이 들어 갈 괄호를 적고 콜론으로 마무리 해줍니다. def와 함수명이 있는 첫줄을 헤더라고 합니다. 함수를 선언했으면 그 아래에 함수에 들어 갈 기능들을 적습니다. 위에 예시는 print함수를 사용해서 Hello!와 Welcome :) 이 두 문구를 콘솔에 출력합니다.

정의된 hello()를 편집기에 적어주면 앞서 말한 두 문장이 출력됩니다. hello()를 여러번 적으면 두 문장이 반복해서 출력됩니다. 이처럼 함수를 지정하면 복잡하게 반복되는 코드를 함수 하나만으로 출력할 수 있게 됩니다.

🌎 파라미터

앞서 사용한 예시는 같은 문장을 여러 번 출력해줍니다. 하지만 때로는 다른 문장이 출력되는 함수가 필요합니다. 이때, 필요한 개념은 파라미터(parameter)입니다. 파라미터의 사전적 정의는 변수 사이의 함수 관계를 간접적으로 표시할 때 사용하는 변수입니다. 프로그래밍에서는 함수에 넘겨주는 값을 말합니다. 예시를 한 번 볼까요?

def hello(name):
	print("Hello!")
    	print(name)

앞서 작성한 함수문에서 Welcome 부분을 빼고 괄호 안에 name이라는 파라미터를 넣어주었습니다. 이 파라미터를 print 함수 안에 넣으면 어떻게 될까요?

앞서 hello()함수를 사용할 때에는 괄호 안에 아무 값도 넣지 않았습니다. 그러나 파라미터를 넣어 함수를 선언하게 되면 괄호 안에 원하는 값을 넣었을 때, 함수 안에서 그 값이 들어가 동작하게 됩니다. 예를 들어, hello(Chris)처럼 Chris를 안에 넣게 되면 출력되는 결과는 Hello! Chris가 됩니다.

파라미터는 여러 개 지정할 수 있습니다. 입력 값을 서로 더해주는 print_sum 함수를 정의해봅시다.

def print_sum(a, b):
	print(a + b)

print_sum 함수는 두 가지 파라미터를 지정함으로써 두 개의 입력값을 요구합니다. 따라서 print_sum(3, 5)와 같이 원하는 두 값을 넣어주면 두 값의 합인 8을 출력해 줍니다.

🌎 Retrun

수학 시간에 처음 함수를 배울 때, 입력과 출력이 있는 기계를 예시로 들곤 했습니다. 값을 입력하면 함수의 내부 연산에 따라 출력되는 값이 다릅니다. 프로그래밍에서도 이러한 입출력 과정을 구현할 수 있습니다. 이때, 필요한 것이 return입니다.

def get_square(x):
    return x * x

get_square 함수는 입력 값에 대해 입력 값끼리 곱한 값을 출력합니다. 이 함수에 대한 연산값을 콘솔에 출력하기 위해 print(get_square(2))을 편집기에 입력하게 되면 4라는 값을 반환해 주고 이 값이 콘솔 창에 출력됩니다.

다음으로 편집기에 y = get_sqare(2)이라는 변수를 선언하고 print(y)를 하게 되면 마찬가지로 2라는 수가 get_square 함수 상자에 입력되어 4라는 출력값이 변수 y에 저장되고 y를 출력하는 print 함수에 따라 최종적으로 4가 콘솔창에 출력됩니다.

마지막으로 편집기에 print(get_square(2) + get_square(5))를 입력하면 어떤 값이 나올까요? 먼저 get_square에 2라는 수와 5라는 숫자가 각각 들어가 4와 25라는 값을 출력하고 그 두 값을 합한 29가 print 함수에 의해 콘솔창에 출력됩니다.

* 이 자료는 CODEIT의 컴퓨터 개론 강의를 기반으로 작성되었습니다.
profile
There's Only One Thing To Do: Learn All We Can

0개의 댓글