/PythonTutorial

파이썬 강좌용 자료입니다.

Primary LanguagePython

Python Tutorial

이 저장소는 파이썬 강좌 자료들을 보관하는 깃허브 저장소입니다. 영훈고등학교 프로그래밍 스터디 소동아리에서 사용하기 위한 목적으로 제작되었으나, 공익을 위해 오픈소스로 공개합니다.
강좌는 아래의 목차로 이루어져 있습니다.


프로그래밍 언어의 가장 기본적인 부분들인 설치부터 함수까지 배워보고자 합니다.

  1. [파이썬 설치](Basics/01-파이썬 설치하기/README.md)
  2. [변수와 기본 자료형](Basics/02-변수와 타입/README.md)
  3. [기본 입출력 함수](Basics/03-기본 콘솔 입출력/README.md)
  4. 사칙 연산자
  5. [형변환 (Casting) 과 묶음 자료형](Basics/05-타입 변환과 묶음 타입들 (collections)/README.md)
  6. 흐름 제어문 1 : if ~ elif ~ else 와 조건문
  7. 흐름 제어문 2 : for, while 반복문
  8. 함수

기본 강좌에서 배운 내용을 복습하며, 간단한 프로그램을 만들어봅시다.

  1. 369 게임 만들기

  1. 특강 1) 구글링을 습관화하자
  2. 특강 2) Stack Overflow
  3. 특강 3) 정규표현식

  1. 파일 입출력
  2. 문자열(str) 을 다룰 때 유용한 메소드들
  3. in 키워드
  4. 타입이란 무엇인가? & 타입 힌트

[객체지향 패러다임 : Object Oriented Programming](Object Oriented Programming/README.md)

  1. 객체지향 프로그래밍은 어떤 패러다임인가? & 지금까지 써오던 방식과 비교해보기
  2. 클래스와 객체
  3. 클래스가 가지는 특성 (캡슐화, 상속, ...)
  4. 클래스 상속
  5. 클래스 상속 과정에서 일어날 수 있는 문제점 (다중상속, 다이아몬드 상속, ...)
  6. 파이썬의 클래스와 매직 메소드

객체지향 패러다임에 대해 공부한 내용들을 복습하고자 진행하는 프로젝트입니다.

  1. 간단한 텍스트 RPG 만들기

  1. del 키워드
  2. with 키워드
  3. iterator와 generator
  4. list , dict, set, generator comprehension
  1. 파이썬 내장 라이브러리 1 - random, time, datetime
  2. 파이썬 내장 라이브러리 2 - logging
  3. HTTP 요청 라이브러리 1 - urllib, requests
  4. HTML 파싱 라이브러리 - BeautifulSoup4
  5. XML 파싱 라이브러리 - xml
  6. 백엔드 서버 라이브러리 - flask, django

고급 3강에서 배웠던 라이브러리들을 활용한 프로젝트를 진행합니다. 네이버, 구글, 카카오 등 공개되어있는 api 자신이 선택해서 해당 api를 활용해보는 프로젝트

  1. 특강 3) 정규표현식 regex

  1. 함수형 패러다임은 무엇인가?
  2. 1급 객체로써의 함수, 그리고 고계함수
  3. 클로져(Closure) 와 데코레이터(Decorator)

( 고민중 )

  1. 동시성과 병렬성, 그리고 이를 위한 모듈 threading, multiprocessing, asyncio
  2. Threading - 스레드(Thread)의 개념과 스레드의 특징, 그리고 그로 인해 나타나는 문제들과 해결법
  3. Multiprocessing - 프로세스(Process)의 개념 과 특징, 스레드와의 비교
  4. Asynchronous - 비동기 프로그래밍의 개념과 특징
  5. Futures - 고수준 병렬처리 API concurrent.futures

고급 5강에서 공부한 동시성과 병렬성을 활용해, 오래걸리는 작업의 소요시간을 단축해보자. ( 고민중 )

  1. 파이썬 인터프리터, CPython
  2. 파이썬의 고질적인 문제들 - GIL
  3. 파이썬의 다른 구현체들 : Jython, Cython, IronPython, PyPy
  4. C언어로 구현된 CPython : ctypes 모듈

  1. type의 정체, 메타클래스
  2. 모든 클래스의 최상위 클래스는 무엇일까?
  3. type을 활용해 동적으로 클래스 정의하기
  4. type을 상속하는 새 메타클래스 만들기

( 고민중 )