목차
1장 파이썬 코딩 도구
001 대화식 모드로 프로그래밍 하기
002 IDLE 에디터로 프로그래밍 하기
003 주피터 노트북으로 프로그래밍 하기
2장 기초 구문
004 변수
005 주석 처리하기
006 자료형 개념
007 자료형 출력: print()
008 자료형 크기: len()
009 자료형 확인: type()
010 타입 어노테이션(Type Annotation)
011 사용자 입력: input()
012 들여쓰기
013 None 상수
014 True, False
3장 제어문
015 if문: if~elif~else
016 for문: for~continue~break
017 for문: for~else
018 while문: while~continue~break
019 pass문
020 match문: match~case
4장 연산자
021 수치연산자: +, -, *, /, **, //, %
022 연산자 축약: +=, -=, *=, /=
023 비교연산자: ==, !=, 〈, 〈=, 〉, 〉=
024 논리연산자: and, or, not
025 비트연산자: &, |, ^, 〉〉, 〈〈
5장 수치 자료형(Numerical Types)
026 정수, 실수: int, float
027 복소수: complex
028 절대값 구하기: abs()
029 몫과 나머지 구하기: divmod()
030 반올림 수 구하기: round()
031 수치 자료형 변환: int(), float(), str()
032 10진수를 16진수로 변환: hex()
033 10진수를 2진수로 변환: bin()
6장 반복 자료형(Iterator Types)
034 반복 가능(Iterable) 이해하기
035 이터레이터(Iterator), iter(), next() 이해하기
036 사용자 정의 이터레이터 만들기
037 제너레이터(Generator) 이해하기
038 특정 조건을 만족하는 요소만 추출하기: filter()
039 모든 요소 총합 구하기: sum( )
040 반복 가능 자료를 리스트로 변환: list( )
041 모든 요소들에 대해 함수 리턴값 얻기: map()
042 인덱스가 같은 요소끼리 짝짓기: zip()
043 모든 요소가 참인지 확인하기: all(), any()
044 요소 정렬: sorted()
7장 시퀀스 자료형(Sequence Types)
045 시퀀스 자료형 종류 및 특성
046 순차적 정수열 만들기: range()
047 시퀀스 자료 인덱싱: s[i]
048 시퀀스 자료 슬라이싱: s[i:j]
049 시퀀스 자료 연결/반복: +, *
050 시퀀스 자료에서 최대/최소 요소 구하기: max(), min()
051 시퀀스 자료에서 특정 요소 개수: s.count()
052 시퀀스 자료에서 요소 체크: in, not in
053 시퀀스 자료의 특정 요소 인덱스 구하기: s.index()
054 (인덱스, 요소) 생성: enumerate()
055 시퀀스 자료 역순 만들기: reversed()
8장 리스트와 튜플
056 리스트의 요소값 변경: list[i] = x
057 리스트에서 요소 삭제하기 ①: del list[i]
058 리스트에서 요소 삭제하기 ②: list.remove()
059 리스트의 모든 요소 삭제하기: list.clear()
060 리스트 복사하기: list.copy()
061 리스트 확장하기: list.extend()
062 리스트에 요소 삽입하기: list.insert()
063 리스트 맨 마지막에 요소 추가하기: list.append()
064 리스트에서 특정 위치 요소 추출 후 삭제: list.pop()
065 리스트 요소를 역순으로 만들기: list.reverse()
066 리스트 요소 정렬: list.sort()
067 리스트 요소 무작위로 섞기: random.shuffle()
068 리스트로 스택 구현하기
069 리스트로 큐 구현하기
070 튜플 이해하기
9장 문자열
071 문자열(String) 객체
072 유니코드 문자열
073 문자 코드값 구하기: ord()
074 코드값에 대응하는 문자 얻기: chr()
075 이스케이프 문자
076 문자열 포맷팅 방법 ①: f‘ ’
077 문자열 포맷팅 방법 ②: str.format()
078 문자열에서 특정 문자열 위치 찾기: str.find()
079 문자열이 언어 문자로만 구성되었는지 확인: str.isalpha()
080 문자열이 숫자로만 구성되었는지 확인: str.isdecimal(), str.isdigit(), str.isnumeric()
081 문자열로 리스트 요소 연결하기: str.join()
082 문자열을 구분자로 분리하기: str.split()
083 문자열에서 좌우 문자/공백 제거하기: str.strip(), str.lstrip(), str.rstrip()
084 문자열에서 특정 문자열을 다른 문자열로 바꾸기: str.replace()
085 문자열의 왼쪽을 0으로 채우기: str.zfill()
086 숫자 왼쪽에 0을 채워서 문자열로 만들기: format()
087 문자열에서 대소문자 변환하기: str.upper(), str.lower()
088 문자열 정렬하기: sorted(), ‘’.join()
089 문자열로 된 식 실행하기: eval()
090 문자열에서 주어진 접두어/접미어 제거하기: str.removeprefix(), str.removesuffix()
091 문자열을 바이트 문자열로 변환하기: str.encode()
10장 바이트(Bytes) 문자열
092 바이트 문자열 이해하기
093 16진수 표시 문자열을 바이트 문자열로 변환: bytes.fromhex()
094 바이트 문자열을 16진수 표시 문자열로 변환: bytes.hex()
095 바이트 문자열을 유니코드 문자열로 변환: bytes.decode()
096 바이트 문자열 주요 메서드들
11장 set(집합) 자료형
097 set 자료 이해하기
098 set 연산: |, &, -, ^
099 set에 요소 추가: set.add()
100 set에서 요소 제거 ①: set.remove()
101 set에서 요소 제거 ②: set.discard()
102 set에서 랜덤 요소 추출: set.pop()
103 set의 모든 요소 제거: set.clear()
12장 딕셔너리(Dictionary)
104 딕셔너리 객체: dict()
105 딕셔너리에서 값 추출하기 ①: d[key]
106 딕셔너리에서 값 추출하기 ②: d.get()
107 딕셔너리의 모든 키를 리스트로 만들기: list(d)
108 딕셔너리에 요소 추가하기: d[key]=val
109 딕셔너리에 요소를 추가하고 값을 얻기: d.setdefault()
110 딕셔너리의 특정 요소 제거하기: del d[key]
111 딕셔너리에 특정 키가 존재하는지 확인: key in d
112 딕셔너리에 특정 키가 없는지 확인: key not in d
113 딕셔너리의 모든 키로 이터레이터 생성: iter(d)
114 딕셔너리의 모든 요소 삭제: d.clear()
115 딕셔너리의 모든 요소 복제: d.copy()
116 딕셔너리의 모든 요소 조회하기: d.items()
117 딕셔너리의 모든 키 조회하기: d.keys()
118 딕셔너리의 모든 값 조회하기: d.values()
119 딕셔너리에서 모든 키의 순서를 거꾸로 하기: reversed(d)
120 딕셔너리에서 요소를 제거한 후 값 또는 요소 얻기: d.pop(), d.popitem()
121 딕셔너리 갱신하기 ①: d.update()
122 딕셔너리 갱신하기 ②: d1 | d2, d1 |= d2
123 딕셔너리 요소 정렬하기: sorted()
13장 함수(Function)
124 함수 정의: def
125 함수의 매개변수와 인자
126 지역변수와 전역변수: global
127 함수 처리 결과 리턴: return
128 이름없는 한 줄짜리 함수 만들기: lambda
129 함수의 타입 어노테이션
130 데코레이터: @
14장 클래스(Class)
131 클래스 개념
132 클래스 변수와 인스턴스 변수
133 메서드(Method)
134 클래스 생성자(Constructor)
135 클래스 소멸자(Destructor)
136 클래스 상속
15장 예외처리
137 예외처리 ①: try~except
138 예외처리 ②: try~except~else
139 예외처리 ③: try~except~finally
140 예외처리 ④: try~except Exception as e
141 예외처리 ⑤: try~except 특정예외
142 예외 발생시키기 ①: assert
143 예외 발생시키기 ②: raise
16장 파이썬 모듈과 패키지
144 모듈 이해하기
145 패키지 이해하기
146 모듈 임포트: import, import~as, from~import
147 파이썬 내장 모듈 vs. 외부 모듈
148 외부 모듈/패키지 설치 도구: pip
149 if __name__ == ‘__main__’:
17장 파일/디렉토리
150 파일 열고 닫기: f.open(), f.close()
151 파일을 열고 자동으로 닫기: with open() as f
152 파일 읽기: f.read()
153 파일 쓰기: f.write()
154 파일의 특정 부분만 읽고 복사: f.seek()
155 텍스트 파일 한 라인씩 읽기: f.readline(), f.readlines()
156 텍스트 파일 저장하기: f.writelines()
157 바이너리 파일 복사하기: f.read(), f.write()
158 파일 크기 구하기: os.path.getsize()
159 파일 삭제하기: os.remove()
160 파일 이름 변경/파일 이동: os.rename()
161 디렉토리에 존재하는 파일 목록 얻기: os.listdir(), glob.glob()
162 현재 작업 디렉토리 확인, 작업 디렉토리 변경: os.getcwd(), os.chdir()
163 디렉토리 생성 및 제거: os.mkdir(), os.rmdir()
164 하위 디렉토리 및 파일 전체 삭제: shutil.rmtree()
165 파일이 존재하는지 체크: os.path.exists()
166 파일인지 디렉토리인지 체크: os.path.isfile(), os.path.isdir()
167 JSON 파일 다루기 2
18장 시간/날짜
168 프로그램 실행 소요 시간 계산: time.time()
169 주어진 시간동안 일시정지: time.sleep()
170 현재 시간을 연-월-일 시: 분:초로 출력하기: time.localtime(), time.strftime()
171 올해의 경과된 날짜 수 계산: time.localtime()
172 오늘의 요일 계산하기: time.localtime()
19장 정규표현식
173 정규표현식 개념
174 정규표현식 응용
20장 네트워크
175 에코 서버 만들기: socket
176 에코 클라이언트 만들기: socket
177 향상된 에코 서버 만들기: socketserver
178 향상된 에코 클라이언트 만들기: socket
179 웹사이트에 접속하여 HTML 페이지를 파일로 저장: urllib.request.urlopen()
180 HTTP 헤더 조작하기: requests
181 인터넷에 있는 이미지를 내 PC에 저장하기
21장 동시 실행 프로그래밍
182 동시 실행(Concurrent Execution) 개념
183 멀티스레드 프로그래밍: threading
184 멀티프로세스 프로그래밍: multiprocessing
185 비동기 호출 인터페이스: concurrent.futures
186 비동기 함수 구현하기: asyncio, async, await
22장 프로그래밍 실습
187 opencv를 활용하여 마우스로 도형 그리기 ①
188 opencv를 활용하여 마우스로 도형 그리기 ②
189 matplotlib을 활용한 데이터 시각화 실습 ①
190 matplotlib을 활용한 데이터 시각화 실습 ②
191 Basemap을 활용하여 지도 출력하기
192 지진 발생 지역 지도에 표시하기
193 기상 정보 지도에 표시하기
194 웹 기반 로또 번호 추출기 만들기
195 웹 기반으로 지진 발생 지역 보기
196 파일 전송 서버 만들기
197 파일 수신 클라이언트 만들기
198 채팅 서버 만들기
199 채팅 클라이언트 만들기
200 ChatGPT API를 활용해서 간단한 챗봇 만들기