파이썬 독학/파이썬 기타

돈 안 쓰고 파이썬 독학하는 방법(파이썬 독학의 정석)

데니 by danny 2023. 2. 5. 17:13
반응형

파이썬 독학 방법
파이썬 독학 방법

님들, 안녕하세요. 14년차 IT 개발자 데니라고 해요. 님들 파이썬 혹은 코딩에 관심을 갖고 계시지만, 막상 공부하시려니 어디서부터 어떻게 시작해야 할지 모르시는 님들 이실 거예요.  저도 프로그래밍 입문 시절이 있었고, 그 시절 동안 정말 많은 시행착오를 거쳐 여기까지 왔기 때문에 그 누구보다 님들의 입장을 잘 이해하고 있어요. 그렇기 때문에 님들을 위해 최단기간에 최소 비용 지출로 파이썬 입문/초급 과정을 마스터하실 수 있는 방법을 알려드릴 거예요. 파이썬 입문/초급 과정만 마스터하신다면, 파이썬 기본 개발능력과 구글 검색을 통해서 님들이 하실 수 있는 일들이 무궁무진하다고 감히 말씀드릴 수 있어요. 그러니 파이썬을 반드시 마스터하시겠다는 마음 굳게 다지시고, 조금 힘드시더라도 절대 포기하지 마시고 목표를 향해서 끝까지 나아가주시길 바랄게요.

그럼 지금부터 "돈 안쓰고 파이썬 독학하는 방법(파이썬 독학의 정석)"에 대해서 말씀드려 볼게요.

 

"무슨 일이든 할 수 있다고 생각하는 사람이 해내는 법이다. 의심하면 의심하는 만큼 밖에 못하고, 할 수 없다고 생각하면 할 수 없는 것이다."

  - 현대그룹 창업주 정주영, 1976년 주베일 산업항 공사현장에서

 

 

 

1. 돈 안 쓰고 파이썬 독학하는 방법(파이썬 독학의 정석)

님들께서 저에게 묻고 싶으실거예요. "데니님! 저는 문과생, 중고등학생, 50대 등 코딩 1도 모르는 코알못인데, 정말 0원으로 파이썬 독학이 가능한가요?"라고요. 저는 "넵!"이라고 짧고 당차게 대답해드리고 싶어요. 그리고 님들께 이렇게 묻고 싶어요. "님들이 배우시려는 파이썬은 태생부터가 무료로 사용할 수 있다는 거 알고 계셨나요?"라고요. 대한민국 국민이 가장 많이 사용하는 컴퓨터 운영체제(Operating system, OS)인 윈도우는 여러분이 돈을 내고 구입해서 사용해야 해요. 윈도우가 무료라고 생각하시는 분들이 계셨다면 잘못 알고 계신 거예요. 님들이 브랜드회사(삼성, 엘지, 레노버 등) PC나 노트북을 구매하실 때 지불하신 비용에 윈도우 구매 비용이 포함되어 있어요. 그래서 처음 PC나 노트북을 구매하시면 윈도우가 설치되어 있는 거예요. 엑셀, 워드, 파워포인트도 모두 돈을 내고 사용해야 하는 소프트웨어예요. 하지만, 파이썬은 무료예요.

파이썬은 저작권자가 소스 코드를 공개하여 누구나 별다른 제한 없이 자유롭게 사용·복제·배포·수정할 수 있는 오픈 소스(Open source) 형태의 소프트웨어예요.  즉, 오픈 소스인 파이썬은 당연히 0원이고, 사용료 걱정없이 언제 어디든지 파이썬을 다운로드하여 설치하고 사용할 수 있어요.

이제 님들은 두 번째 질문을 저에게 하실거예요. "파이썬은 무료겠지만, 좋은 파이썬 강의나 책은 유료예요"라고요. 파이썬 강의나 책이 대부분 유료인 거 맞습니다. 유료로 구매하시고 잘 보관만 하신다면 그건 님들께 좋은 강의도 좋은 책도 되지 못한다는 건 자명해요. 그리고 남들에게 좋은 강의이고 좋은 책이지만 님들에게는 그렇지 않을 수도 있어요.  타인의 주관적인 의견에 흔들리지 마시고, 님들의 현재 상황에 따른 객관적인 판단을 하시고 그 판단을 믿고 행동하셔야 해요. 파이썬 개발에 대한 기본기가 어느 정도 자리 잡으실 때까지는 비전문가들이 좋다고 말하는 책과 강의는 지양해 주시면 좋을 거 같아요. 좋은 강의를 선택하기 위한 한가지 팁을 드릴게요. 님들의 상황을 너무 잘 알고 있고 실무 개발 경험이 있는 분들의 경험에서 깊이 우러나오는 디테일한 설명과 접근하기 쉬운 실습 소스코드가 포함된 강의를 추천드리고 싶어요.  제 강의를 홍보하려고 글을 쓰는 거 절대 아니니, 여러분의 선택이 제 강의가 아니어도 상관없어요. 님들의 실력 향상에 도움이 된다면 님들께 맞는 강의를 찾으셔야 해요.

 

▷▷▷ 입문님들을 위한 좋은 강의 찾는 법 ◁◁◁

1. 파이썬 강의를 검색하여 들어간다.

2. 아래는 파이썬의 일반적인 강의 구성이다. 해당 강의가 아래와 같이 구성되어 있는지 확인한다.

    - 파이썬이란
    - 설치방법
    - 파이썬 둘러보기
    - 파이썬 변수
    - 파이썬 자료형(숫자, 문자열, 리스트, 튜플, 딕셔너리, 집합, 불 등)
    - 제어문(if문, match문)
    - 반복문(while문, for문)
    - 파이썬 입출력(사용자 입출력, 파일 입출력)
    - 함수
    - 모듈
    - 클래스
    - 패키지
    - 예외처리
    - 내장 함수
    - 내외부 라이브러리

3. 해당 강의에서 파이썬 변수(Variables) 챕터 강의를 찾고 읽어 본다.

4. 님들이 읽은 내용을 바탕으로 파이썬 변수(Variables)가 무엇인지 명확하게 이해할 수 있다면, 그 강의는 개념적 설명을 잘한 강의이다.

5. 변수(Variables) 챕터 강의에서 소스 코드를 찾는다.

6. 소스 코드에 대한 설명이 라인 별로 달려 있고, 소스 코드와 라인 별 설명을 읽고 해당 소스 코드의 작동 방식을 어느 정도 이해할 수 있다라고 본인이 느낄 수 있다면 좋은 강의이다.

7. 결과적으로 위 2, 4, 6번 내용이 모두 만족된다면, 좋은 강의이므로 그 강의를 보고 혼자 스스로 파이썬을 공부해도 좋다.

 

 

  ▶ 정석(定石)대로 하라.

파이썬 입문자님! 지름길을 찾고 계시나요? 딱 한 번만 가시는 길이라면 지름길이 있습니다. 파이썬 전문 개발자에게 맡기시거나, 원하시는 파이썬 소스코드와 그 소스 코드에 대한 사용 방법을 구글링하시면 돼요. 너무 무책임한 답변인 거 같아서 죄송스럽네요. 파이썬은 프로그래밍 언어이므로 언어를 예로 들어서 왜 정석(定石)으로 학습해야 하는지 설명해볼게요.  님들은 모국어가 한국어인 대한민국 국민이실 거예요. 님들이 영어를 못하시고,  갑자기 일주일 뒤에 미국 LA로 5박 6일 일정의 여행을 가신다고 가정해 볼게요.  영어를 못하시는 상황에서 당장 문법과 단어 학습부터 시작하신다고 해서 영어 실력이 크게 향상되시지 않을 거예요. 뿐만 아니라 한 달 공부한 영어 실력으로 미국 현지에서 한국에서처럼 의사소통이 안되실 거예요. 이럴 때 지름길을 찾으셔야 하는 게 맞아요. 영어를 잘하는 가이드를 대동한다거나 번역기 앱을 사용해서 5박 6일간 여행 일정을 즐겁게 소화하실 수 있어요. 

만약 님들이 미국 LA로 이민가셔서 취업을 해야 하고 먹고살아야 한다면, 여행 때처럼 가이드를  대동할 수 있을까요? 번역기 앱으로 평생 잘 살아갈 수 있을까요? 당연히 아니실 거예요. 지름길은 당장 빨리 갈 수는 있겠지만, 딱 그 길만 알게 되는 거고 그 길마저도 시간이 지나면 잊게 될 거예요. 

 님들은 입문자이시니 파이썬 입문 과정에서 나온 개념을 반드시 이해하셔야 해요. 또한, 모든 실습 예제들은 본인 손으로 키보드를 이용해서  직접 타이핑 해보시고 실행해보셔야 해요.(Ctrl+c 복사와 Ctrl+v 붙여 넣기 코딩 방식은 입문 과정에서 지양하셔야 해요.) 실행하면서 발생하는 오류에 대한 원인을 분석하고 더 이상 그와 같은 오류가 발생하지 않도록 수정해봐야 해요. 기본적인 소스 코드는 본인의 눈과 머리가 파이썬이 되어 컴퓨터에서 소스 코드를 실행해보지 않아도 실행 결과를 예측할 수 있어야 해요. 그러기 위해선 파이썬 입문/기초 과정은 정석(定石)으로 학습하시는 방법밖에는 없다는 점 말씀드리고 싶어요.

 

 

  ▶ 기대가 크면 실망도 크다. 작은 것부터 즐겨라.

제가 처음 프로그래밍을 배우기 시작할 때, 게임은 리니지가 유명했고, SNS는 싸이월드가 대세였었어요. 님께서 리니지와 싸이월드를 모르는 세대이시라면 리니지는 지금의 리그 오브 레전드이고, 싸이월드는 지금의 트위터라고 생각하시면 어느 정도 감이 오실거예요. 저는 프로그래밍을 배우면서 리니지와 같은 인기 있는 온라인 게임을 개발해서 많은 사람들이 제가 만든 게임을 즐겁게 하는 기대를 하곤 했었죠. 저의 그런 큰 기대와는 달리 제가 아주 초반에 배운 프로그래밍 지식으로는 테트리스도 겨우 만들 정도였어요.  그때 당시 리니지라는 게임이 수많은 개발자, 시스템 엔지니어, 디자이너 등 각 분야의 전문가들이 협업하고 큰 투자비용이 지출되어  만들어진 총체적인 산물이라는 것을 몰랐던 거죠.

이런 저의 경험을 말씀드리는 건 만약 님들도 저와 같은 큰 기대를 가지고 파이썬 입문 과정에 진입하신다면 실망하실 수 있다는 점을 말씀드리고 싶어서예요. 아마 님들의 첫 프로그램은 print("Hello World")일거고, 파이썬 입문 과정을 마무리 지으신 후에 님들이 기대했던 프로그램을 직접 개발하시기에는 아직 많이 부족하다는 점을 깨닫게 되시고 실망하실 수도 있어요.

그러니 파이썬 입문자님들께서는 파이썬 입문 과정 동안 화면에 문자를 출력하는 아주 소소한 프로그램일지라도 본인 손으로 직접 코딩한 프로그램이므로 자부심을 갖고 즐거움을 느끼면서 학습하시길 추천드려요. 그렇게 파이썬 개발 내공이 차곡차곡 쌓이게 되면 여러분들이 단순 반복적으로 하고 계시는 일들을 자동화시켜 보시고, 대량의 데이터를 분석해서 새로운 인사이트를 얻으실 수도 있으실 거예요. 조금씩 조금씩 작은 눈덩이를 굴려 눈사람을 만드는 것처럼 즐겁게 파이썬을 학습하셔야 해요. 

 

 

  ▶ 첫 째도 기본, 둘 째도 기본이다.

공부는 기본 개념, 운동은 기본기, 투자는 기본 원칙이 제일 중요하다고 해당 분야 전문가들이 항상 말하고 있어요. 프로그래밍도 마찬가지예요. 프로그래밍의 기본을 잘 쌓아 놓았다면, 프로그래밍 언어가 JAVA이던지 파이썬이던지 상관없이 금세 배우실 수 있어요. 세상에 존재하는 모든 프로그래밍 언어는 컴퓨터에서 작동하므로 당연히 기본 개념은 동일하고 공통적인 부분이 많아요. 저는 파이썬을 배우기 전에 주로 C언어와 JAVA를 사용하던 프로그래머였어요. 파이썬은 다른 프로그래밍 언어들보다 훨씬 심플하고 직관적이고, 무엇보다 파이썬은 C언어 기반으로 만들어진 언어라서 저는 파이썬 문법을 익히는데 딱 2일 걸렸던 거 같아요. 

님들도 파이썬을 학습하시면서 프로그래밍에 대한 기본을 잘 쌓아두시면 나중에 다른 프로그래밍 언어를 배우실 때 쉽게 익히실 수 있으니 기본에 대한 중요성을 잊지 않으시길 바랄게요.

 

 

  ▶ 긍정적 태도로 받아들이고 두드리고 실행해라.

실습하실 때 가장 필요한 자세는 소스 코드에 대한 긍정적인 마음가짐이에요. 부정적인 마음을 갖고 소스 코드를 바라보신다면 한 줄 한 줄이 머리에 안 들어오게 되는 현상을 체험하실 수 있어요. 동일 선상에서 부정적인 마음을 갖고 코딩을 하신다면 소스 코드 한 줄 한 줄에 본인의 부정적인 마음이 표출되어 나타나게 되어 있어요. 나중에 정신 차리고 그 소스코드를 다시 보시게 된다면 이해되지 않는 부분들을 발견하시게 될 거예요. 긍정적인 마음을 갖고 코딩하셔야 가독성 높은 소스 코드를 작성하실 수 있고, 나중에 다른 사람이 내 소스 코드를 볼 때 이해하기 쉬울 거예요. 제목에 두드리라는 뜻은 본인의 양손으로 키보드를 이용해서 소스 코드를 직접 타이핑해보시라는 말이에요. 이것 또한 매우 중요해서 이 전에 언급했었는데, 다시 말씀드리는 거예요. 코딩은 손으로 하는 거예요. 기본 개념에 대한 이해는 머리로 하는 거지만, 코딩은 손이 해주는 거예요. 코딩이 손에 익숙해진다면, 손이 알아서 코딩을 하는 느낌을 받게 되실 거예요. 신기한 현상인데, 여러분들도 나중에 분명히 느끼게 되실거예요.  그 정도 레벨에 올라가시기 위해서 반드시 직접 두드리고 실행해 보세요.

 

 

  ▶ 무조건 한 바퀴 돌려라. 그리고 다시 돌려라.

님이 선택한 파이썬 입문 관련 모든 강의를 끝까지 학습하셔야 해요. 학습하시다가 이해가 안 되는 부분이 있다면 관련 소스 코드를 직접 두드리고 실행해서 결과를 보시고 다음 학습 부분으로 넘어가셔야 해요. 이해가 안되는 부분을 계속 붙잡고 계시면 시간이 많이 소요되고, 다음 과정에 진입하기 전에 스스로 지쳐서 파이썬 학습을 영원히 중단하실 수도 있어요. 힘들다고 포기하지 마시고, 다음 과정을 학습하시면서 무조건 마지막 강의까지 학습하셔야 해요. 한 바퀴 돌리셨다고 해서 파이썬으로 무언가를 개발하실 수 있으신 분들은 그리 많지 않으실 거예요. 저도 그랬어요. 누구나 그런 거니 너무 당황해하지 마시고, 진짜는 두 번째 바퀴부터 시작이니 다시 첫 강의부터 시작해서 학습하셔야 해요.

 

  ▶ 두 번째 바퀴부턴 누군가에게 설명할 수 있을 정도로 개념을 이해하고 실습하라.

두 번째 바퀴부터는 이해 안되신다고 절대 스킵하지 마시고, 누군가에게 설명하실 수 있으실 정도로 기본 개념을 숙지하셔야 해요. 첫 번재 바퀴에서 이해가 안 가셨던 부분도 이때쯤에는 "아 이런 거였구나!"라고 머리가 번뜩이면서 이해가 되실 거예요. 실습도 두 번째부터는 님들이 조금씩 소스 코드를 변형하여 실행해보시면 더 재미있는 실습 시간이 되실거예요. 

두 번째 바퀴 학습이 모두 완료되신 님이라면 파이썬으로 하실 수 있는 것들이 조금씩 떠오르실 거예요. 그때부터는 구글링을 통해서 본인이 개발하고자 하는 프로그램을 다른 사람은 어떻게 작성했는지 공개된 소스코드를 보시면서 따라서 작성해 보시면 큰 도움이 되실 거예요. 이렇게 님들은 파이썬 입문/초급 과정을 마스터하시면서 앞으로 본인들이 무엇을 해야 할지 구체적인 길이 보이게 되실 것이에요. 그 길을 걸어가시면서 훌륭한 중급 개발자 그리고 고급 개발자로 성장하시길 바랄게요. 긴 글 여기까지 읽어주셔서 감사해요.

지금까지 14년차 IT 개발자 데니였어요.

반응형