Python 개념, 각각 프로젝트와 함께
강좌 전체가 아니라 한 가지만 찾고 있나요? 아래 개념은 각각 패턴을 만드는 짧은 스크립트에 쓰이고, 강의에서 한 줄씩 설명해요.
- 1강 · 입문 배열과 각도 “황금각” 패턴으로
- np.arange로 만드는 numpy 배열
- 배열 전체에 한 번에 하는 계산
- 라디안, np.cos와 np.sin
- 각도와 거리에서 x와 y로
- 값에 따라 색을 칠한 산점도
- 2강 · 입문 반복문과 나머지 “원 위의 곱셈표” 패턴으로
- zip으로 쌍을 도는 for 반복문
- 나머지 연산자 %와 한 바퀴 돌아오는 각도
- plt.plot으로 두 점을 잇는 선
- 매개변수 하나를 바꾸며 탐구하기
- 3강 · 입문 무작위성과 세기 “골턴 보드” 패턴으로
- np.random.default_rng로 만드는 난수
- 1과 0으로 세는 True와 False
- np.bincount로 세기
- 리스트 컴프리헨션
- 공식과 대조해 보는 시뮬레이션
- 4강 · 중급 기억하는 반복문 “카오스 게임” 패턴으로
- 단계에서 단계로 상태를 이어 가는 반복문
- rng.integers로 만드는 무작위 정수
- 조건을 위한 while 반복문
- 점의 배열과 슬라이싱
- np.column_stack
- 5강 · 중급 배열에 적용하는 공식 “진자 파동” 패턴으로
- 배열 전체에 적용하는 물리 공식
- 빠른 확인을 위한 np.round와 print
- plt.subplots로 나란히 놓는 그래프 여러 개
- f-문자열
- 위상: 진자가 왕복의 어디쯤에 있는지
- 6강 · 중급 함수와 재귀 “정렬 경주” 패턴으로
- 함수, 그리고 함수를 값으로 넘기기
- 재귀: 더 작은 부분에 대해 자기 자신을 부르는 함수
- 딕셔너리에 담아 두는 카운터
- 결과를 확인하는 assert
- 일이 늘어나는 방식: n² 대 n·log n
- 7강 · 중급 시간을 한 걸음씩 “회전하는 고리 속 공” 패턴으로
- 시뮬레이션: while 반복문 안의 작은 시간 간격
- numpy 배열로 나타낸 벡터
- 내적과 반사
- np.arctan2로 구한 각도, 한 바퀴 돌려 맞추기
- 반복문을 빠져나가는 break
- 8강 · 고급 힘과 적분 “삼체 궤도” 패턴으로
- 벡터로 나타낸 뉴턴의 중력
- 천체 쌍을 도는 중첩 반복문
- 적분의 립프로그 방법
- 3차원 배열: 단계 × 천체 × 좌표
- 변하면 안 되는 것으로 시뮬레이션 확인하기
- 9강 · 고급 격자와 확산 “튜링 패턴” 패턴으로
- 칸으로 이루어진 격자로서의 2차원 배열
- 가장자리가 한 바퀴 이어지는 np.roll로 이웃 찾기
- 라플라시안: 칸 하나와 그 이웃의 비교
- 한 줄로 격자 전체 갱신하기
- plt.imshow로 배열 보여 주기