안녕하세요 정쌤입니다! 오늘 부터는 파이썬이라는 프로그래밍언어를 공부할까합니다. 매주 한주차씩 업로드 할 예정입니다.
매주 퀴즈와 파이썬을 본격적으로 공부하는 시간에는 실습환경도 준비해 놓았으니 공부하시고 복습의 개념으로 퀴즈와 실습을 임해주시면 될거같습니다!
그러면 오늘의 학습목표 먼저 읽고 가겠습니다.
<학습목표>
파이썬이 무엇인지 설명할수있다.
파이썬의 특징을 설명할수있다.
파이썬으로 가능한 것과 불가능한것을 구분할수있다.
파이썬이란 무엇일까요?
먼저 파이썬을 공부하기 앞서서 알고있어야할 두가지가 있습니다.
첫번째는 컴퓨터 프로그램이고
두번째는 첫번째에 말한 컴퓨터 프로그램을 만들기위한 프로그래밍 언어입니다.
저희는 수많은 컴퓨터 프로그램 속에서 살아갑니다. 매일 친구들, 선생님, 가족들과 하는 카카오톡, 오늘의 일상등을 공유하는 인사타그램 모두 프로그램이라고 할수있습니다. 이런 프로그램들을 만들어 줄수 있게끔 해주는것이 프로그램 언어입니다. 그중에서도 파이썬이라는 언어는 최근에 떠오르고 있는 쉬운 프로그래밍 언어입니다.
파이썬은 다른 프로그래밍 언어와는 다르게 쉽게 만들어져 비전공자, 고등학생, 프로그래밍에 처음 입문하시는 분들이 배우기에 적합합니다.
그럼 쉽다고 어려운 프로그램은 못만들지 않을까?
절대 그렇지 않습니다. 파이썬은 쉬울뿐만아니라 어려운 프로그램까지도 파이썬으로 구현을 할수있습니다.
현재 가장 이슈가 되는 인공지능도 이 파이썬을 이용해서 만들어지고 있습니다.
그렇다면 파이썬의 특징은 무엇이 있을까요?
파이썬의 특징은 이 4개로 정리해볼수있습니다.
<파이썬 특징>
1. 파이썬은 인간다운 언어입니다.
2. 파이썬은 무료이지만 강력합니다.
3. 파이썬은 개발속도가 빠릅니다.
4. 파이썬은 비교적 문법이 쉽습니다.
1. 파이썬은 인간다운 언어입니다.
프로그래밍이란 인간이 생각하는 것을 컴퓨터로 지시하는것이라 생각할수있습니다. 앞으로 살펴볼 파이썬 문법에서도 보게 되겠지만, 파이썬은 사람이 생각하는 방식을 거의 그대로 표현할 수 있는 언어입니다. 따라서 프로그램을 개발하는 개발자는 굳이 컴퓨터의 사고 체계에 맞추어서 프로그래밍을 하려고 애쓸 필요없이 직관적으로 프로그래밍이 가능합니다.
2. 파이썬은 무료이지만 강력합니다.
오픈 소스인 파이썬은 무료입니다. 사용료 걱정없이 언제 어디서든 파이썬을 다운로드하여 사용할 수 있습니다. 또한 프로그램을 개발하는 개발자들은 만들고자 하는 프로그램의 대부분을 파이썬으로 만들 수 있습니다. 물론 시스템 프로그래밍이나 하드웨어 제어와 같은 매우 복잡하고 반복 연산이 많은 프로그램은 파이썬과 어울리지 않습니다. 하지만 파이썬은 이러한 약점도 극복을할 수 있게끔 다른 언어로 만든 프로그램을 파이썬 프로그램에 포함시킬 수 있습니다.
파이썬과 C언어는 찰떡궁합이란 말이 있습니다. C언어 라는 언어는 빠른실행을 할수있게 도와주는 프로그래밍 언어입니다. 그래서 프로그램의 전반적인 뼈대는 파이썬으로 만들고, 빠른 실행 속도가 필요한 부분은 C로 만들어서 파이썬 프로그램 안에 포함시켜 프로그래밍을 할수있습니다.
3. 파이썬은 개발속도가 빠릅니다.
파이썬의 최고 장점은 개발속도가 엄청 빠르다는 것입니다. 파이썬을 배우고 다른 언어 C언어나 Java언어를 배우게 되신다면 파이썬이 빠른 개발에 특화된 언어라 몸소 느낄것입니다. 그래서 파이썬을 아래와같은 말로도 표현합니다.
"Life is too short, You need python." (인생은 너무 짧으니 파이썬이 필요해.)
파이썬의 엄청나게 빠른 개발 속도를 두고 유행처럼 퍼진 말입니다. 이 말의 의미는 직접 프로그래밍을 하면서 느껴보시기 바랍니다.
4. 파이썬은 비교적 문법이 쉽습니다.
이 특징은 처음배우는 여러분들에게 적합하지는 않습니다. 여러분들이 파이썬을 배우고 다른언어들을 접할때 이 특징을 몸소 느끼실거라고 생각합니다. 저는 C언어를 배우고 파이썬을 배웠기때문에 처음 파이썬을 접했을때 '이런 언어가 있다고?' 라고 느꼈습니다. 하지만 처음 프로그래밍언어를 배우는 여러분 입장에서는 파이썬도 어려울것입니다. 하지만 '다른 언어보다는 쉽구나' 라고 생각 하시면서 배우시면 금세 배우실수 있을것입니다.
그럼 대체 파이썬으로 무엇을 할수있을까요?
파이썬으로 할수있는것을 조금 소개시켜드리자면
<파이썬으로 가능한것>
1. 웹프로그래밍
2. 수치연산 프로그래밍
3. 데이터베이스 프로그래밍
4. 데이터 분석, 사물인터넷
5. GUI 프로그래밍
1.웹프로그래밍
일반적으로 저희는 익스플로어나 크롬, 파이어폭스 같은 브라우저로 인터넷을 사용합니다. 누구나 한 번쯤 웹 서핑을 하면서 게시판이나 방명록에 글을 남겨 본 적이 있을 것입니다. 게시판이나 방명록에 글을 남기면 글들이 사라지지않고 저장이된다. 그러한 게시판이나 방명록을 통해 사용자들과 브라우저가 상호작용을 하는것을 웹 프로그램이라고 합니다. 파이썬은 웹 프로그램을 만들기에 매우 적합한 도구이며, 실제로 파이썬으로 제작한 웹 사이트는 셀 수 없을 정도로 많이 존재합니다.
2. 수치연산 프로그래밍
사실 파이썬은 수치 연산 프로그래밍에 적합한 언어는 아닙니다. 수치가 복잡하고 연산이 많다면 C언어 같은 언어로 하는 것이 더 적합하기때문입니다. 하지만 파이썬은 NumPy라는 수치 연산 모듈을 제공합니다.
모듈이란 분야별로 필요한 기능들을 모아둔 만능상자라고 생각하시면 쉽습니다. 즉 수치 연산 모듈은 수학적으로 계산할수있는 기능들을 모아둔 수학 상자라고 생각하시면 쉽습니다.
이 연산 모듈은 복잡한 연산도 가능하게끔 구현이 되어있습니다. 또한 C언어와 호환이 될수있게끔 작성했기 때문에 파이썬에서도 수치 연산을 빠르게 할 수 있습니다.
3. 데이터베이스 프로그래밍
파이썬은 사이베이스(Sybase), 인포믹스(Infomix), 오라클(Oracle), 마이에스큐엘(MySQL), 포스트그레스큐엘(PostgreSQL) 등의 데이터베이스에 접근하기 위한 도구를 제공합니다.
위에서 말하는 사이베이스(Sybase), 인포믹스(Infomix), 오라클(Oracle), 마이에스큐엘(MySQL), 포스트그레스큐엘(PostgreSQL) 등의 데이터베이스들은 쉽게말해 데이터를 저장하는 저장장소라고 생각하시면 쉽습니다.
4. 데이터 분석, 사물인터넷
파이썬으로 만든 판다스(Pandas) 모듈을 사용하면 데이터 분석을 쉽고 효과적으로 할 수 있습니다. 데이터 분석을 할 때 아직까지는 데이터 분석에 특화된 ‘R’이라는 언어를 많이 사용하고 있지만, 판다스가 등장한 이후로 파이썬을 사용하는 경우가 점점 증가하고 있습니다.
사물 인터넷 분야에서도 파이썬은 활용도가 높습니다. 한 예로 라즈베리파이(Raspberry Pi)는 리눅스 기반의 아주 작은 컴퓨터입니다. 여기서 리눅스는 윈도우같은 운영체제의 일종이라고 생각하시고 넘어가시면 됩니다. 라즈베리파이를 사용하면 홈시어터나 아주 작은 게임기 등 여러 가지 재미있는 것들을 만들 수 있는데, 파이썬은 이 라즈베리파이를 제어하는 도구로 사용됩니다. 예를 들어 라즈베리파이에 연결된 모터를 작동시키거나 LED에 불이 들어오게 하는 일을 파이썬으로 할 수 있습니다.
5. GUI 프로그래밍
GUI(Graphic User Interface) 프로그래밍이란 쉽게 말해 화면에 새로운 창을 만들고 그 창에 프로그램을 동작시킬 수 있는 메뉴나 버튼, 그림 등을 추가하는 것을 말합니다. 파이썬은 GUI 프로그래밍을 위한 도구들이 잘 갖추어져 있어 GUI 프로그램을 만들기 쉽습니다. 대표적인 예로 파이썬 프로그램과 함께 설치되는 Tkinter(티케이인터)가 있습니다.
하지만 이런 만능언어인 파이썬으로도 못하는것이 있습니다.
<파이썬으로 불가능한것>
1. 시스템과 밀접한 프로그래밍 영역
2. 모바일 프로그래밍
1. 시스템과 밀접한 프로그래밍 영역
엄청난 횟수의 반복과 연산이 필요한 프로그램 또는 데이터 압축 알고리즘 개발 프로그램 등을 만드는 것은 어렵습니다. 즉 위에서도 말했듯이 대단히 빠른 속도를 요구하거나 하드웨어를 직접 건드려야 하는 프로그램에는 어울리지 않습니다.
2. 모바일 프로그래밍
파이썬은 구글이 가장 많이 애용하는 언어이지만 파이썬으로 안드로이드 앱(App)을 개발하는 것은 아직 어렵습니다. 안드로이드에서 파이썬으로 만든 프로그램이 실행되도록 지원하긴 하지만 이것만으로 앱을 만들기에는 아직 역부족인 상황입니다. 안드로이드 앱 개발쪽은 아직도 자바언어가 그왕자를 굳건히 지키고있습니다. 아이폰 앱을 개발하는 것 역시 파이썬으로는 아직 할 수 없습니다.
위에 2개가 파이썬이 대표적으로 못하는 2가지 영역입니다.
파이썬의 특징과 파이썬을 이용해 어떤것을 하는지를 알았으니 이제 파이썬을 직접 써보면서 배워야겠죠?
파이썬을 사용하려면 컴퓨터에 파이썬을 설치하고 에디터를 사용해서 파이썬을 사용할수있습니다. 이런 복잡한 과정은 프로그래밍 언어를 처음 배우시는 여러분들에게 어려운것같아 제 블로그에서 바로 사용할수있게 제가 여러분께 제공해 드릴예정입니다.
오늘은 프로그램이란 무엇이고 프로그래밍언어란 무엇인지와 프로그래밍 언어인 파이썬의 특징과 파이썬으로 할수있는 것들을 알아보았습니다. 오늘 배운내용을 간단하게 복습하는 차원에서 유튜브영상과 제가 내드리는 문제를 풀어보시고 다음시간에는 본격적으로 파이썬 문법에 대해서 실습해보면서 공부해 보는 시간을 가지겠습니다. 모두 고생하셨습니다!
<파이썬 이란 무엇인가? 동영상>