파이썬 튜토리얼의 목차를 순서대로 정리했습니다.
파이썬을 시작한다면 이 내용 순서로 읽고 따라가면 됩니다. 좀 이해가 가지 않는 부분들이 있다면 제목의 키워드로 구글에 검색을 해보면 다양한 글들이 나옵니다. 파이썬 기초에 대하여는 포스팅이 많기 때문에 각각 주제에 대한 정보를 찾는데 어려움이 없을 것입니다.
단점은 이게 중급 단계만 가도 구글에 자료가 별로 없습니다. 한글 자료의 한계가 있다고 봐야하고요. 그래서 영어 검색을 항상 습관을 붙여놔야 합니다. 구글에 영문자료는 stackoverflow 가 제일 유명합니다. 파이썬 관련 질의가 몇백만 건 정도 있기 때문에 중급정도까지의 웬만한 의문들은 거의 다 해결할 수 있습니다.
한글에는 그런 자료가 없으니까 어렵게 stackoverflow 에서 답변을 찾았다면 자신의 블로그에 정리해서 올려주는 것도 좋은 방법입니다. 누군가 또 내가 했던 질문을 영어사이트에서 삽질하지 않도록 할 수 있죠. 또 정리하면서 본인에게 공부도 됩니다.
자 그럼 파이썬의 설치부터 시작하겠습니다.
파이썬 IDLE 통합개발환경 설치영상 || 파이썬 입문
완전한 기초부터 다루었습니다. Hello World 부터 키워드, 문장까지 상세한 내용입니다.
파이썬 코딩 1-1 | 온라인에서 Hello World! 로 시작하기
파이썬 예약어란 무슨 뜻일까? Reserved Word | 파이썬 언어 기초 (tistory.com)
파이썬 Statement (구문) 과 indentation (들여쓰기) 그리고 Comments (주석문) (tistory.com)
파이썬은 그래도 동적타이핑의 인터프리터라서 변수관리에 대한 부담이 적은 편입니다.
그렇다 해도 파이썬만의 데이터 타입인 리스트, 튜플, 딕셔너리 등을 공부하다보면 개념을 소화하는게 쉽지 않을 수 있고요. 딕셔너리까지 진도나가는게 지루할 수도 있습니다. 여기만 잘 견디면 입문과정의 반은 끝난 것으로 볼 수 있습니다.
파이썬 코딩 1-2 | 인터프리터와 친해지기 | 사칙연산, 변수
파이썬 변수와 상수 리터럴 설명 [Variables, Constants and Literals]
파이썬 코딩 1-3 | 파이썬의 자료형 | 숫자,문자열 연산자
파이썬 코딩 1-4 | 파이썬의 자료형 | 리스트 기본
파이썬 코딩 1-5 | 파이썬의 자료형 | 리스트 함수
파이썬 코딩 1-8 | 파이썬의 자료형 | 불형(참과 거짓)
제어문법 branch 인 if 문, 루프(이터레이션)의 while문과 for문에 대한 상세한 튜토리얼입니다. 어떤면에서는 일반 교재의 내용보다 더 상세하게 기록해뒀습니다. 블로그는 지면의 한계가 없으니까 얼마든지 깊이있는 정리가 가능합니다.
파이썬 코딩 2-5 | 제어문 | for문 구구단, 별모양 도형, enumerate
파이썬 for 루프 예제 별모양 도형까지 한번에 마스터
함수는 내장함수가 있고 외부라이브러리 함수, 사용자 정의함수가 있습니다. 기초에서는 내장함수와 사용자 정의함수를 중심으로 이야기합니다. 사용자 정의함수를 어느정도 만들 수 있게 되면 다른 사람이 개발한 라이브러리 함수를 사용하면서 관리할 수 있습니다.
함수를 사용할 때 부터는 약간의 알고리즘도 가미를 해줘야 합니다. 파이썬은 절차지향 프로그래밍도 많이 하기 때문에 알고리즘을 짤 때 함수를 중심으로 짜는 경우가 많습니다. 함수에서 어떤 값이 처리가 되고 다시 그 값을 어떻게 받아올거냐는 문제부터 재귀함수 정도를 기초과정에서 다루어줍니다.
문자열 관련 함수는 파이썬에서 대단히 중요하고 또 다양한 옵션을 지금도 파이썬 재단에서 개발하고 있습니다. 자유롭게 사용할 수 있을 때까지 내장함수들을 열심히 사용해봅니다. 다만 파이썬을 아무리 오래동안 하더라도 내장함수의 작동원리는 알수 없을 것입니다.
문자열 함수 하나 만드는 알고리즘도 보통의 초보 프로그래머들에게는 넘사벽의 장벽이 될 수 있습니다. 그런 부분을 인지는 하고 사용한다면 더 좋은 프로그램을 만들 수 있을 것입니다. 나중에 C언어를 배우면 문자열에 대해서도 더 깊이 있게 이해할 수 있습니다. 문자열에 대해 더 알고 싶다면 아스키 코드에 관한 내용부터 읽어 보는게 도움이 됩니다.
파이썬 내장함수 print와 input 함수 [built in function]
파이썬 알고리즘: 피보나치수열 구하기 || 재귀함수 호출
파이썬 팩토리얼 함수 || 파이썬 팩토리얼 재귀함수 || recursive factorial python
파이썬 코딩 5-1 | 내장함수 (Built-in Function)를 다루는 방법
파이썬 코딩 5-2 | 표준 라이브러리 (Standard Library) 다루기 | datetime 모듈 시계만들기
파이썬 코딩 5-4 | 문자열 포매팅 String Format
클래스는 파이썬에서 사용하지 않아도 간단한 프로그램을 만들 수 있는데요. 그런 이유를 떠나서 파이썬의 모든 것은 객체 타입이다 라는 것으로 클래스를 알아야합니다.
클래스는 객체지향 프로그래밍 언어라서 개념이 쉽지는 않습니다. 알때까지 여러번 코드를 작성하는 수밖에 없고요.
모듈은 클래스와 다른 것이지만 네임스페이스를 가진다는 점에서 유사성이 있습니다. 모듈을 클래스 처럼 운영하는 방법도 있습니다. 입문단계에서 알아야 하는 것은 import 문을 잘 쓰는 것입니다.
외부 라이브러리를 잘 사용할수록 파이썬으로 할게 많아지는데 import 문으로 어떤 모듈, 클래스, 네임스페이스를 가져와야 하는가? 이런 것들을 판단해야 합니다. 불필요하게 import 를 할 필요도 없고 정확하게 내가 원하는 네임스페이스를 사용하는 느낌이 필요합니다.
나중에는 스스로 모듈과 클래스를 만들겠지만 일단 처음에는 타인이 만들어 놓은 것을 잘 활용하는 것 만으로도 프로그램의 퀄리티가 달라집니다.
파이썬 코딩 3-1 | 클래스 | 생성자(Constructor)
파이썬 코딩 3-2 | 클래스 | 상속,오버라이드, 클래스 변수
파이썬 | 클래스 1 | 클래스 만들기, 메소드, 속성
파이썬 | 클래스 2 | 인스턴스 변수와 메서드의 접근 제어(속성 비공개)
파이썬 코딩 3-3 | 모듈이란? | import 문, from import 문 | 파이썬 패키지
기타와 중급주제는 초보때는 잘 사용하지 않거나 모르는 주제의 글들을 모았습니다.
지역변수 전역변수 대충 들으면 알 듯한데 막상 에디터에서 보고 있으면 막연하기도 합니다. 예외처리도 그냥은 잘 안쓰고요. 예외처리를 사용하기전에 런타임과 프로세스가 무엇인지 알아두면 좋습니다.
그밖에 클로저, 이터레이터 등등 어렵고요. 유니코드도 대략 알겠는데 UTF-8 인코딩 하려면 잘 와닿지가 않습니다. 전세계 온갖 민족의 언어를 컴퓨터상에 통일시켜서 표현한 구조가 유니코드기 때문에 상당히 복잡합니다.
이런 내용들은 처음에 몰라도 프로그램 만들수 있습니다. 다만 관련한 오류가 발생했을 때 원리를 모르면 해메는 문제들입니다.
파이썬 코딩 4-1 | 예외처리 | try , except 문
유니코드와 한글 | 파이썬 유니코드 출력하기 | 한글 깨지는 문제 해결방법 | UTF-8 인코딩 하는 법
여기까지가 파이썬 기초 튜토리얼 과정입니다. 이 다음부터는 GUI 등 주로 프레임워크를 사용해서 빠르게 앱을 개발하는 일들이나 파이썬 알고리즘의 기초를 세우는 작업을 합니다. 파이썬도 알고리즘이 중요합니다.
파이썬이 느리다고 알려져 있으나 핵심 데이터타입인 리스트 등은 이미 C언어로 쓰여서 최적화 되었습니다. 최적화된 자료형을 더 잘 사용하려면 알고리즘을 잘 써야합니다. 파이썬은 느리다는 인식이 있어서 더 가성비를 따져야 합니다.
파이썬 추천 자습 사이트 모음 (한글/영문) 2020년
파이썬 교재의 대표 | 200만이 선택한 DO IT! 점프 투 파이썬 리뷰 | 이지스 퍼블리싱
파이썬 3.9 Documentation | 파이썬 PDF 메뉴얼 | 파이썬 문서의 활용
파이썬 교재리뷰 | 러닝 파이썬 제5판 | 번역본을 읽는 방법