세상에는 다양한 데이터들이 존재하고, 우리의 일상 곳곳에서 너무나 많은 데이터들이
다뤄지고 있다. 이러한 데이터들을 어떻게 가공해야 의미있는 정보를 추출할 수 있을까?
데이터 과학은 이러한 데이터들에서 과학적인 방법으로 정보나 지식을 추출하는 학문을 얘기한다.
그렇다면 데이터를 다루는 이유는 무엇인가?
가공되지 않은 수많은 정보가 일상생활 가운데 넘쳐나고 있다.
하지만 이 정보들을 우리의 삶을 편리하게 해주기 위해서는 중요한 의미를 지니는 데이터로
분석하고 가공해야 할 필요가 있다.
예를 들어 서울시의 택시 승하차 정보와 이동 통신사의 통화량 데이터를 이용하여
심야 시간에 시민들이 어떻게 이동하는지 파악할 수 있고,
이를 바탕으로 심야버스 노선을 새로 조정할 수 있다.
데이터 과학을 다루기 위해 이 카테고리에서는 파이썬이라는 언어를 이용하고자 한다.
Python 이라는 것은 1991년에 Guido van Rossum 이 개발한 인터프리터 방식의 프로그래밍 언어를 말한다.
"Life is short, You need Python" - Bruce Eckel
"인생은 짧으니, 당신은 파이썬이 필요하다."
문법이 매우 쉬워서 초보자들이 처음 프로그래밍을 배울 때 추천되는 언어이기도 하고,
접근성과 응용력이 좋은, 강력한 언어이다.
머신러닝, 딥러닝을 위한 풍부한 라이브러리를 제공하고 있다는 점도 파이썬을 공부하는 이유이기도 하다.
출처 : https://namu.wiki/w/Python
이제 파이썬을 다루기 위해 개발도구를 설치해보자.
파이썬을 통해 프로그램을 개발하기 위해선 파이썬 인터프리터와 기본 라이브러리, 그리고 개발도구를 설치해야 한다.
이 프로그램들은 Python Software Foundation 에서 관리하고 있고,
홈페이지는 다음과 같다. https://www.python.org/
홈페이지에 접속하여 Download 를 진행한다.
설치할 컴퓨터의 운영체제를 선택하고, 원하는 파이썬의 버전을 다운로드 받으면 된다.
설치를 완료했다면, 이제 파이썬 인터프리터를 실행시켜보자.
(현재 PC 는 Windows10 64bit 이고 파이썬 3.9 버전이다.)
윈도우의 검색 기능을 이용하여 python 을 검색하고 파이썬을 선택하여 실행하면 다음과 같은 창이 나타난다.
화면 첫 줄에는 자신의 버전 등의 정보를 보여주고 있다.
그 다음 줄에는 >>> 라는 문자들과 함께 키보드 입력을 받을 수 있도록 되어있다.
이렇게 나타난 화면을 대화창, 인터프리터 창이라고 하고, 키보드 입력을 받으려고 대기하고 있는 곳을
프롬프트 prompt 라고 한다.
파이썬에게 원하는 일을 시키고 싶을 때에는 이 프롬프트에 명령어를 입력한다.
인터프리터로 코딩을 하는 경우, 간단하기는 하지만 한 번 입력하면 수정하기가 어렵다.
또한 한 번 실행한 코드를 다시 실행하기 어렵다는 단점이 있다.
이런 문제를 피하기 위해선 명령어들을 모아 파일로 저장하면 된다.
지시할 내용들을 모아서 기록해 둔 것을 소스 코드라고 하고, 이 소스 코드를 작성하고 관리할 수 있게 하는 도구를
통합 개발 도구 Integrated Development Environment, IDE 라고 한다.
파이썬을 설치하면 IDLE 이라는 이름의 간단한 IDE 가 제공된다.
뒤 편에 보이는 것이 인터프리터 모드로 간단한 명령어를 입력할 수 있는 창이고,
앞에 조그맣게 새로 뜬 창은 소스 코드를 작성할 수 있는 파일이다.
IDLE 외에도 파이썬을 이용해 개발하기 위한 도구는 많다.
나는 그 중 하나인 VScode 를 다른 언어를 공부할 때도 사용하였었기 때문에,
IDLE 을 사용하지는 않고 VScode 를 사용하였다.
VScode 에서 hello.py 파일을 만들고 'Hello Python!!' 을 출력한 모습이다.
다음과 같이 하단의 터미널에서 출력 결과 등을 바로 확인할 수 있다.
이제 파이썬으로 간단한 코딩부터 진행해보자.
print() 함수는 () 안에 있는 데이터를 출력하는 함수이다.
위의 사진과 같이 print('Hello Python!!') 이라고 하면, 화면에 Hello Python 이라는 문자열이 출력된다.
문자열은 "" (큰따옴표) 나 '' (작은따옴표) 로 감싸서 표현한다.
print() 함수 인자로는 문자열만 들어갈 수 있는 것은 아니다.
숫자의 연산 결과도 출력할 수 있는데, 예를 들면 다음과 같다.
다음과 같이 print() 괄호 안에 2+3 을 인자로 전달하면 연산 결과인 5가 출력되는 것을 볼 수 있다.
문자열이 아니기 때문에 따옴표로 감싸지 않은 것 또한 알 수 있다.
그렇다면 다음 결과도 확인해보자.
똑같이 print() 함수 안에 2+3 을 인자로 전달하였지만, 5가 아니라 23이 출력되는 모습이다.
이유는 따옴표 때문이다. 앞에서 말했듯이 따옴표로 감싼 값은 문자열을 의미한다.
그렇기 때문에 '2' + '3' 은 숫자 2 더하기 3의 연산이 아니라,
2라는 문자와 3이라는 문자를 이어붙인 결과가 출력되는 것이다.
또한 print(2+3) 의 결과로 출력되는 5는 숫자 데이터지만,
print('2' + '3') 의 결과로 출력되는 '23'은 문자열이라는 특징도 있다.
파이썬에서 문자열과 문자열의 + 연산은 두 문자열을 이어붙인 새로운 문자열을 만든다.
그리고 프로그래밍을 하는 데 있어서 별 거 아니라고 생각할 수 있지만 중요한 부분이
주석을 넣는 것이다.
주석은 소스 코드에 설명글을 붙이는 것인데, 프로그램의 실행 결과에는 아무런 영향을 끼치지 않는다.
하지만 프로그램은 완성된 후에도 유지보수를 계속 해야 하고, 내가 만든 코드를 다른 사람이 이어 작업할 수도 있다.
내가 만든 코드라 하더라도 시간이 지나고 다시 보았을 때 이해하기 어려울 수도 있다.
그렇기 때문에 소스 코드에 주석을 추가하는 것은 아주 가치있는 일이다.
이제 주석을 붙이는 법을 알아보자.
print('Hello Python!!') #print() 함수를 이용하여 문자열 출력
'''
'''
주석이 필요없을만큼 간단한 코드이지만, 주석에 대해 설명하기 위해 주석을 추가했다.
먼저 #은 한 줄 주석을 넣을 때 사용한다.
#뒤에 나오는 내용은 주석 처리 된다.
주석을 길게 넣어야 해서 여러 줄에 쓰일 때는
작은따옴표나 큰따옴표 3개를 연속으로 입력하여 여러 줄을 주석 처리할 수 있다.
위 사진과 같이 ''' 로 시작하여 여러 줄의 주석을 입력한 후
''' 로 주석문을 종료하는 방식이다.
이제 코드 작성과 주석에 대해 살펴보았으니, 파이썬이 강력한 이유를 둘러보자.
파이썬은 함수나 변수, 클래스들을 별도의 스크립트 파일로 저장해놓고, 그것들을 불러서 사용할 수 있다.
이러한 스크립트 파일을 "모듈" 이라고 부른다.
파이썬은 설치할 때에 이미 방대한 양의 모듈을 함께 제공하는데, 이러한 모듈을
"파이썬 표준 라이브러리" 라고 하고, 이 라이브러를 흔히 "패키지" 라고도 한다.
우리는 이 외부 패키지들을 불러와서 사용함으로 편리하게 프로그래밍을 할 수 있다.
이제 외부 패키지를 pip 라는 프로그램을 이용하여 설치하고, 설치된 패키지를 활용하면 된다.
pip 를 이용하여 패키지를 설치하기 위해서는 다음과 같은 명령어를 프롬프트에 입력하자.
pip install package-name
package-name 부분에 설치하고자 하는 패키지 이름을 입력하면 된다.
설치가 끝났다면, 이제 코드를 짜는 과정에서 이 모듈들을 불러와야 한다.
모듈을 불러오는 것은 어렵지 않다.
import module-name
module-name.func()
모듈이 설치되어 있다면 import 를 이용해서 모듈을 불러오고,
사용할 때에는 모듈 이름에 점을 찍은 후 모듈 안의 구성요소를 호출해주면 된다.
그렇다면 초보자가 사용해보기 좋은 터틀 그래픽을 이용하여 모듈을 사용해보자.
터틀 그래픽은 2차원 화면 위의 로봇 거북이에게 명령을 내려서 그림을 그리는 기능이다.
import turtle
t = turtle.Turtle()
t.shape('turtle')
다음과 같이 소스코드를 작성하여 보자.
캔버스에 거북이가 나타난다.
이 거북이를 여러 명령어를 이용하여 움직일 수도 있고, 그림도 그릴 수 있다.
그럼 마지막으로 터틀 그래픽을 이용해 한 변의 길이가 100인 정삼각형을 그려보자.
forward() 함수는 거북이가 앞으로 가게 하고, left() 함수는 거북이가 왼쪽으로 회전하게 한다.
import turtle
t = turtle.Turtle()
t.shape('turtle')
t.forward(100)
t.left(120)
t.forward(100)
t.left(120)
t.forward(100)
turtle.done()
다음과 같이 코드를 작성하고 실행해보자.
거북이가 움직이며 정삼각형이 그려지는 것을 볼 수 있다.
이제 터틀 그래픽을 이용하여 다양한 그림을 그려보며 파이썬과 친해져보자.
파이썬 공부를 시작하면 느낀 점은 다른 언어와 비교했을 때 아주 간단하고 쉬운 문법으로
코드를 짜기 때문에 배우기가 쉽고 자동화 툴 같은 것을 만들 때 아주 유용하다는 점이다.
또한 머신러닝이나 빅데이터를 다루는 데 있어서 접근하기도 좋아서
파이썬을 열심히 공부해두는 것은 아주 유익한 일이라고 생각된다.
게시글들을 통해 파이썬과 친해져보자 :)
출처 : 따라하며 배우는 파이썬과 데이터 과학 - 천인국, 박동규, 강영민