파이썬 컴플리트
목차
파이썬 컴플리트(Python Complete)에 방문하신 것을 환영합니다! 파이썬 컴플리트는 시리즈로 작성되는 파이썬 학습을 위한 자습서(tutorial)입니다. 파이썬의 기초부터 응용까지 컴플리트(complete)하게 기술하는 것을 목적으로 합니다.
스무디 코딩은 스무디 한잔의 여유를 가지고 코딩실력을 늘리는 것을 목표로 합니다. 파이썬은 학생들 혹은 직장인들이 처음으로 접하게 되는 프로그래밍 언어인 경우가 많은데 처음에는 의욕을 가지고 열심히 하다가도 진도를 조금 더 나가다 보면 한계에 부딪히기도 합니다. 파이썬이 아무리 쉽게 배울 수 있는 언어라지만 코딩은 매일 갈고 닦아야하는 기술이기 때문에 학습과정이 결코 호락호락하지 않습니다.
또 코딩을 하기 위해서 필요한 지식들도 많이 있습니다. 운영체제, GUI, 컴퓨터 그래픽, 영어, 수학 등 학습을 하다 보면 코딩을 하기 위해 추가적으로 필요한 지식들이 보일 것 입니다. 소프트웨어를 만드는 과정은 종합적이기 때문에 파이썬의 문법을 다 배웠다고 해서 어떤 결과물이 뚝딱하고 나오지 않습니다.
소프트웨어의 개발은 목표를 설정하고 그것을 달성하기 위한 자원과 도구를 모아서 건설하는 과정과도 유사합니다. 문법을 마스터하는 것은 최소한의 도구를 장착하는 것이고 거기서 부터 또 헤쳐나가야 합니다.
파이썬 컴플리트 가이드는 파이썬으로 소프트웨어 개발을 목표로 A부터 Z까지 컴플리트(complete) 하게 다뤄보기 위해서 시작합니다. 물론 문법을 모르고는 시작이 안되니까 초보자는 문법부터 배워야 합니다. 이미 프로그래밍에 대한 숙련도가 있다면 풀코스를 학습할 필요는 없습니다.
숙련자들 에게는 파이썬의 기본적인 특성과 문법을 완료하기 위해 A Byte of Python 을 추천합니다. 자바스크립트 같은 동적 타이핑 언어를 사용한 경험이 있다면 하루나 이틀 정도의 학습으로도 파이썬의 시스템에 적응할 수 있을 것 입니다.
다만 이 웹페이지는 초보자에게 문턱을 낮추기 위해 파이썬의 거의 모든 주제에 대하여 충분히 이해할 수 있도록 다룰 것 입니다.
파이썬은 컴퓨터 공학을 전공하지 않은 사람도 배우기가 쉽다고 하며 이는 사실입니다. 배우기 쉽다는 것은 응용 프로그래밍 단계에서 사용하기 쉽다는 말이지 그 내부의 원리까지 이해하기 쉽다는 말은 아닙니다. 오히려 파이썬은 C나 자바같은 컴파일 언어에 비해서 감춰진 부분이 많아서 내부의 동작이 잘 안보입니다.
그러한 언어가 동작하는 내부적인 내용까지 파이썬 언어 하나만 가지고 모든 것을 이해하는 것은 사실 좀 어렵습니다. 그렇다면 초보자들이나 컴퓨터 전공이 아닌 사람들은 그냥 모르고 사용만 잘하면 되는 것인가? 라는 질문을 할 수 있는데 아무래도 적당한 설명이 있는 편이 납득하기가 쉬울 것 입니다. 컴퓨터는 0과 1만으로 작동하지만 그 안에서 일어나는 일은 생각보다 복잡하기 때문에 소프트웨어에서 모든 것을 다룰 수는 없습니다. 평소 컴퓨터나 소프트웨어 이런 것들이 막연히 어렵게 느껴졌다면 그 예감은 어느 정도 맞습니다.
파이썬이 쉽고 빠르게 작동하는 것처럼 보이는데 그 뒤에는 여러가지 복잡한 과학이 숨겨져 있습니다. 이 자습서에서는 밑도 끝도 없이 그 모든 것을 설명하려고 하지는 않을 것 입니다. 다만 모든 것을 생략하고 print(“Hello Python!”) 같은 코드만 던지는 것도 큰 의미가 없기 때문에 초보자의 입장에서 최소한의 납득이 가는 설명을 기준으로 작성합니다.
또 초보자라도 파이썬 컴플리트 코스의 문법을 기준으로 중반 이상을 넘어가면 최소한의 지식과 숙련도를 갖추게 되기 때문에 그때는 좀 더 한단계 높은 수준의 이야기가 통할 것 입니다. 거기까지만 도달해도 이미 반은 성공이고 실력이 나날이 성장하고 있는 것 입니다.
이 코스는 크게 문법적인 설명 위주의 자습서와 응용 프로그램을 만드는 자습서 두가지 부분으로 분리하도록 합니다. 온라인에는 많은 자습서(tutorial)가 있습니다. 특히 IT교육이 발달한 영어권의 자습서들을 보면 처음부터 응용 프로그램 비슷한 흉내를 내는 코드를 가르치기도 하는데 솔직히 초반에는 배운게 없기 때문에 맨날 가위바위보 게임이나 낱말 맞추기 숫자 맞추기 밖에 할게 없습니다. 그런 것이 도움이 되기는 하겠지만 큰 의미는 없습니다.
오히려 문법을 한번 정도 진도를 나간 후에 파이썬의 패키지를 사용하여 실용적인 앱, 자동화 스크립트 같이 실제로 쓸모가 있는 프로그램을 만드는게 의미적으로는 더 클 수 있습니다. 간단한 코드를 가르치는게 잘못되었다는 말은 아닙니다. 파이썬을 배우는 이유는 원래대로라면 상당히 고도의 기술을 요하는 프로그램을 누구나 쉽게 구현하기 위한 측면도 있습니다. 현재 파이썬에서 진행되는 프로젝트는 30만개가 넘습니다. 그 프로젝트의 기능을 pip install 명령어와 import 구문 만으로 구현해서 나의 프로그램에 바로 적용할 수 있는게 파이썬의 최대 장점 중 하나입니다.
파이썬 문법 진도를 한번 나가는데 그리 오랜 시간이 걸리지는 않습니다. 파이썬 교재도 별도로 추천하겠습니다만 얇은 책으로 시작하면 초보자도 일주일 이내에 끝낼 수 있을 정도 입니다.
해서 파이썬 컴플리트는 이 정도의 컨셉으로 시작합니다.
파이썬을 배우는 목적
파이썬은 워낙 범용 소프트웨어라서 여기저기서 다들 사용합니다. 수만 가지의 목적을 달성하기 위해 파이썬이라는 도구를 사용하는 것 인데 데이터 과학 연구, AI와 머신러닝, 자동화 프로그램, 웹개발, 웹스크레이핑, 로봇 프로그램, 일반 애플리케이션 등 다양한 분야에서 활용되고 있습니다. 한국에서는 파이썬 수요가 아직 많지 않은 상황이지만 글로벌 IT의 흐름을 봤을 때 점차 더 증가할 것으로 보입니다.
*참고 문서 : 파이썬으로 할 수 있는 것들
개인적으로 파이썬은 코딩 학습에 참 좋다는 생각을 합니다. 미래 세대는 4차 산업 시대를 살아가야 하기 때문에 코딩이라는 과목이 공교육 과정에서 중요한 위치를 차지하게 될 것 입니다. 파이썬은 초등학생도 쉽게 배울 수 있을 정도로 사용법이 쉽고 재미있기 때문에 동기부여가 쉽습니다.
예전에는 대학교에서 공대생들에게 필수로 C언어를 가르치던 시절이 있었습니다. 컴퓨터의 보급도 시원찮았던 시절에 처음부터 C언어를 가르치면 속이 메스꺼울지도 모릅니다. 전공 공부하기도 바빠 죽겠는데 C언어의 하드함은 많은 사람들이 포기할 수 밖에 없었던 원인이 되었습니다. 당시에 지금처럼 인터넷이 발달하고 파이썬을 가르쳤다면 많은 학생들이 재미있게 프로그래밍을 했을 것 입니다. 혹은 자신의 연구 분야에 바로 활용할 수 있었을 겁니다.
지금은 컴퓨터공학에서도 교양필수에서 파이썬으로 가르치기도 합니다. 시대가 많이 달라졌으므로 절대적인 비교는 어렵겠습니다만, 어쨋든 초보자 입장에서 파이썬이 C언어 보다 쉽고 즐겁게 학습할 수 있는 환경인 것은 사실입니다. 교육적인 목적으로 배우는 것은 환영입니다. 학생들 뿐 아니라 직장인 노년층 까지도 부담없이 배울 수 있는 언어가 바로 파이썬 입니다.
파이썬 교재 추천
별도로 추천하는 교재입니다. 인터넷에서는 무료로 공개되어 있으니 유용합니다. 추후에도 괜찮은 자료가 있으면 추가하도록 하겠습니다. 무엇보다 이 교재들은 온라인에서는 다 무료입니다. (종이책으로 보는 느낌은 다르니 소장하는 것도 괜찮습니다. 점프 투 파이썬 등 베스트셀러 교재의 경우 소장을 추천)
국내 교재 (웹사이트)
해외 교재(웹사이트)
공식 사이트
무료 기초 튜토리얼
영어 풀코스 (youtube)
- Learn Python – Full Course for Beginners [Tutorial]
- Python Tutorial – Python for Beginners [Full Course]
- Python Tutorial for Beginners – Learn Python in 5 Hours [FULL COURSE]
- Python Full Course 🐍 (𝙁𝙧𝙚𝙚)