변수명 규칙
| 규칙 | 설명 |
| 숫자로 시작 불가 | 1name → X, name1 → O |
| 특수문자는 _만 사용 가능 | user_name → O, user-name → X |
| 영어 기반 권장 | 한글 변수 가능하지만 비추천 |
| 의미 있는 이름 사용 | a,b,c 대신 price, count |
자료형(Data Types)
1. 숫자형 (Numeric)
- 정수(int)
- 실수(float)
- 정보 손실이 적음
- 자동형 변환 / 수동형 변환 가능
2. 문자형 (String)
문자열은 ' ' 또는 " " 안에 표현.
- 순서 있음 (인덱싱 가능)
- 슬라이싱 가능
- 변경 불가(immutable)
- 길이 확인 가능 (len())
3. 나열형(Collection)
- 여러 값을 한 변수에 저장
- 타입에 따라 수정 가능 여부가 다름
- 일부는 순서가 있고, 일부는 없음
1 ) Tuple(튜플)
( ) 또는 (값1, 값2, ...)
- 여러 값을 하나의 변수에 저장할 때
- 값이 변하면 안 되는 경우
- 길이 변경 불가능(immutable)
- 인덱싱 가능
2 ) List(리스트)
[ ] 또는 [값1, 값2, ...]
- 값 변경, 추가, 삭제 가능 (mutable)
- 순서 있음 (인덱싱 가능)
- 슬라이싱 가능 → 마지막 인덱스는 +1
3 ) Set(집합)
{값1, 값2, ...} (단, 딕셔너리와 형태 혼동주의)
- 중복 제거
- 순서 없음
- 인덱싱 불가
4 ) Dictionary(딕셔너리)
{key : value, key2 : value2 ...}
항목가능 여부
| Key | 불변 타입만 가능 (문자열, 숫자, 튜플) |
| Value | 자료형 제한 없음 |
연산자
산술 연산자
연산자의미
| + - * / | 기본 사칙연산 |
| // | 몫 |
| % | 나머지 |
| ** | 제곱 |
대입 & 복합대입 연산자
연산예시
| += | x += 3 # x = x + 3 |
| **= | x **= 2 |
비교 연산자 → 결과는 무조건 True / False
3 == 3 # True 5 > 10 # False
논리 연산자
연산자의미
| and | 두 조건 모두 True |
| or | 하나라도 True |
| not | 결과 반전 |
조건문 & 반복문
조건문
- 순차(직렬)
- 병렬 조건 묶음
반복문
while → 종료 조건 모를 때
for → 반복 횟수 명확할 때
for i in range(1, 10, 1): print(i)
함수(Function)
def add(a, b): return a + b
- 선언 → 호출
- 매개변수(파라미터), 인자(argument)
- 반환(Return) 존재 여부에 따라 구분
클래서 & 객체지향(OOP)
- 객체: 속성과 기능을 가진 것
- 클래스: 객체 설계도
- 인스턴스: 클래스로 만든 실제 객체
- 상속 / 오버라이딩 가능
모듈 & 라이브러리
종류예시
| 랜덤 | random |
| 수학 | math |
| 파일 탐색 | glob |
| 시간 | time |
| AI/과학 | numpy, pandas, tensorflow |
| 시각화 | matplotlib, seaborn |
| 웹/크롤링 | beautifulsoup, selenium |
머신러닝 & 딥러닝 개념
AI → 머신러닝 → 딥러닝 구조
AI (인공지능) └─ 머신러닝(학습 기반) └─ 딥러닝(뉴런 기반 심층 학습)
머신러닝 방식
종류설명
| 지도 학습 | 정답이 있는 데이터 |
| 비지도 학습 | 정답 없음, 패턴 탐색 |
| 강화 학습 | 보상 기반 학습 |
모델 유형
유형설명
| 회귀 | 연속형 데이터 예측 (MSE) |
| 분류 | 정답이 정해진 경우 (Accuracy) |
딥러닝 요소
- 가중치, 편향
- 활성화 함수 (Sigmoid, Softmax, ReLU)
- 최적화 알고리즘 (SGD, RMSProp, Adam)
- Train / Validation / Test 데이터 구분
Tensor 예시
| 차원 | 형태 | 예시 |
| 0D | 스칼라 | 1 |
| 1D | 벡터 | [1] |
| 2D | 행렬 | [[1]] |
| 3D↑ | 텐서 | 이미지 |