패키지
- 패키지는 모듈을 그룹으로 묶어 사용할 수 있는 기능이다.
- 하나의 폴더에 여러 모듈을 저장하여 사용한다.
- 패키지는 해당 디렉토리 내에서만 사용이 가능한데, 이를 범용적으로 사용하기 위해서는 site-pakages에 저장을 해주면 된다.
from 패키지명 import 모듈명으로 사용된다.
자주 사용되는 모듈
- 일반적으로 코딩을 할 때 자주 사용되는 모듈은 math/random/time 세 모듈이 있다.
Math
- sum : 합계
- max : 최대값
- min : 최소값
- pow : 거듭제곱
- round : 반올림
- fabs : 절대값
- ceil : 올림
- floor : 내림
- trunc : 버림
- gcd : 최대 공약수
- factorial : 팩토리얼(1x2x3x4x5....)
- sqrt : 제곱근
Time
- localtime : 현재 시간
- tm_year : 년도
- tm_mon : 월
- tm_mday : 일자
- tm_hour : 시간
- tm_min : 분
- tm_sec : 초
- tm_wday : 요일(0부터 시작)
객체지향 프로그램
Class
- Class는 객체/속성/기능을 포함하는 개념이다.

얕은 복사/깊은 복사
- 얕은 복사 : A = B
=> 이 경우 A에 할당된 값의 주소만 복사하는 것이기 때문에 B를 바꿀 경우 A가 같이 바뀐다.
- 깊은 복사 : copy class를 사용해서 복사(ex, A.copy())
=> 이 경우 값 자체를 복사하여 똑같은 값을 복사하는 것이라 복사된 B의 값을 수정해도 A에 영향을 미치지 않는다.
클래스 상속
- 또 다른 클래스를 상속해서 내 것처럼 사용할 수 있는 기능
